From d0bd3e6f5653a16c8e82c969fb805f4a7d4faf40 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Fri, 11 Jun 2004 20:37:10 +0000 Subject: 2004-06-11 Antony King * libc/include/sys/_types.h: Include 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 and . (_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 * 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. --- newlib/libc/include/sys/stdio.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'newlib/libc/include/sys/stdio.h') diff --git a/newlib/libc/include/sys/stdio.h b/newlib/libc/include/sys/stdio.h index 8177322a0..c0cf33893 100644 --- a/newlib/libc/include/sys/stdio.h +++ b/newlib/libc/include/sys/stdio.h @@ -1,14 +1,25 @@ #ifndef _NEWLIB_STDIO_H #define _NEWLIB_STDIO_H +#include +#include + /* 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 */ -- cgit v1.2.3