📄 __fsetlocking.c
字号:
/* Copyright (C) 2004 Manuel Novoa III <mjn3@codepoet.org> * * GNU Library General Public License (LGPL) version 2 or later. * * Dedicated to Toni. See uClibc/DEDICATION.mjn3 for details. */#include "_stdio.h"#include <stdio_ext.h>/* Not threadsafe. *//* Notes: * When setting the locking mode, glibc returns the previous setting. * glibc treats invalid locking_mode args as FSETLOCKING_INTERNAL. */int __fsetlocking(FILE *stream, int locking_mode){#ifdef __UCLIBC_HAS_THREADS__ int current = 1 + (stream->__user_locking & 1); /* Check constant assumptions. We can't test at build time * since these are enums. */ assert((FSETLOCKING_QUERY == 0) && (FSETLOCKING_INTERNAL == 1) && (FSETLOCKING_BYCALLER == 2)); __STDIO_STREAM_VALIDATE(stream); assert(((unsigned int) locking_mode) <= 2); if (locking_mode != FSETLOCKING_QUERY) { stream->__user_locking = ((locking_mode == FSETLOCKING_BYCALLER) ? 1 : _stdio_user_locking); /* 0 or 2 */ __STDIO_STREAM_VALIDATE(stream); } return current;#else __STDIO_STREAM_VALIDATE(stream); assert(((unsigned int) locking_mode) <= 2); return FSETLOCKING_INTERNAL;#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -