mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-16 03:19:54 +08:00
d0bd3e6f56
* libc/include/sys/_types.h: Include <sys/lock.h> and change _flock_t to be of type _LOCK_RECURSIVE_T. * libc/include/sys/reent.h: (_REENT_INIT): Reformat. (_REENT_INIT_PTR): Ditto. Use memset where appropriate. (_global_impure_ptr): New declaration. (_GLOBAL_REENT): Change to be _global_impure_ptr. * libc/include/sys/stdio.h: Include <sys/lock.h> and <sys/reent.h>. (_flockfile)[!_SINGLE_THREAD]: Add code for lock call. (_funlockfile)[!SINGLE_THREAD]: Ditto. * libc/reent/impure.c: Set _global_impure_ptr to _impure_ptr. * libc/stdio/fclose.c: Remove casting of fp lock to _LOCK_RECURSIVE_T. * libc/stdio/findfp.c: Ditto. * libc/stdio/fopen.c: Ditto. * libc/stdio/freopen.c: Ditto. * libc/stdio/vfprintf.c: Ditto. * libc/stdio64/fopen64.c: Ditto. * libc/stdlib/envlock.c: Add default stubs that use generic locking code. * libc/stdlib/mlock.c: Ditto. Jeff Johnston <jjohnstn@redhat.com> * libc/sys/linux/sys/_types.h (__flock_mutex_t): New subtype. (_flock_t): Change to be a struct containing a single member named mutex which is of type __flock_mutex_t.
26 lines
554 B
C
26 lines
554 B
C
#ifndef _NEWLIB_STDIO_H
|
|
#define _NEWLIB_STDIO_H
|
|
|
|
#include <sys/lock.h>
|
|
#include <sys/reent.h>
|
|
|
|
/* Internal locking macros, used to protect stdio functions. In the
|
|
general case, expand to nothing. */
|
|
#if !defined(_flockfile)
|
|
#ifndef __SINGLE_THREAD__
|
|
# define _flockfile(fp) __lock_acquire_recursive(fp->_lock)
|
|
#else
|
|
# define _flockfile(fp)
|
|
#endif
|
|
#endif
|
|
|
|
#if !defined(_funlockfile)
|
|
#ifndef __SINGLE_THREAD__
|
|
# define _funlockfile(fp) __lock_release_recursive(fp->_lock)
|
|
#else
|
|
# define _funlockfile(fp)
|
|
#endif
|
|
#endif
|
|
|
|
#endif /* _NEWLIB_STDIO_H */
|