diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-10-01 21:21:46 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-10-01 21:21:46 +0000 |
commit | 035ef8d75735b3cee4daa87f17abe682551a1a9f (patch) | |
tree | 366543543b31794b7380ddc5b59c4ab10f222924 /include/stdio_ext.h | |
parent | a7f573e5dc8de60d469d17622adb9a0697a1be32 (diff) | |
download | glibc-035ef8d75735b3cee4daa87f17abe682551a1a9f.zip glibc-035ef8d75735b3cee4daa87f17abe682551a1a9f.tar.gz glibc-035ef8d75735b3cee4daa87f17abe682551a1a9f.tar.bz2 |
* include/stdio_ext.h (__fsetlocking): Define as macro.
Diffstat (limited to 'include/stdio_ext.h')
-rw-r--r-- | include/stdio_ext.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/include/stdio_ext.h b/include/stdio_ext.h index 31c7a4e..c7b7724 100644 --- a/include/stdio_ext.h +++ b/include/stdio_ext.h @@ -4,8 +4,19 @@ extern int __fsetlocking_internal (FILE *__fp, int __type) attribute_hidden; -#ifndef NOT_IN_libc -# define __fsetlocking(fp, type) INTUSE(__fsetlocking) (fp, type) -#endif +#define __fsetlocking(fp, type) \ + ({ int __result = ((fp->_flags & _IO_USER_LOCK) \ + ? FSETLOCKING_BYCALLER : FSETLOCKING_INTERNAL); \ + \ + if (type != FSETLOCKING_QUERY) \ + { \ + fp->_flags &= ~_IO_USER_LOCK; \ + if (type == FSETLOCKING_BYCALLER) \ + fp->_flags |= _IO_USER_LOCK; \ + } \ + \ + __result; \ + }) + #endif |