From 3db40db7d83ca924a935680b1c210dd11f1f660d Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Tue, 3 Sep 2002 19:40:36 +0000 Subject: 2002-09-03 Jeff Johnston * libc/include/sys/_types.h (_flock_t): Added. * libc/include/sys/lock.h (__lock_try_acquire): New interface. (__lock_try_acquire_recursive): Ditto. * libc/include/sys/reent.h (__sFILE, __sFILE64): Add new _lock field. * libc/stdio/findfp.c (std)[!__SINGLE_THREAD__]: Initialize _lock field. * libc/stdio/fopen.c (_fopen_r)[!__SINGLE_THREAD__]: Ditto. * libc/stdio64/fopen64.c (_fopen64_r)[!__SINGLE_THREAD__]: Ditto. * libc/sys/linux/include/time.h (struct timespec): Moved from and added check for __need_timespec flag so type can be defined by itself. * libc/sys/linux/sys/_types.h (_flock_t): New type. * libc/sys/linux/sys/types.h (struct timespec): Moved to . --- newlib/libc/stdio/fopen.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'newlib/libc/stdio/fopen.c') diff --git a/newlib/libc/stdio/fopen.c b/newlib/libc/stdio/fopen.c index e4708785d..ff2cbec46 100644 --- a/newlib/libc/stdio/fopen.c +++ b/newlib/libc/stdio/fopen.c @@ -119,6 +119,7 @@ static char sccsid[] = "%W% (Berkeley) %G%"; #ifdef __CYGWIN__ #include #endif +#include FILE * _DEFUN (_fopen_r, (ptr, file, mode), @@ -157,6 +158,10 @@ _DEFUN (_fopen_r, (ptr, file, mode), fp->_flags |= __SCLE; #endif +#ifndef __SINGLE_THREAD__ + __lock_init_recursive (*(_LOCK_RECURSIVE_T *)&fp->_lock); +#endif + return fp; } -- cgit v1.2.3