From 0ff63017b40dda207b2aadc9881e0c93e7fd2753 Mon Sep 17 00:00:00 2001 From: jb Date: Sat, 11 Apr 1998 07:40:47 +0000 Subject: Add FILE locking stubs for libc. Change the FILE locking to support kernel threads when linked with libpthread (which you haven't see yet). This requires that libc become thread-safe and thread-aware, testing __isthreaded before attempting to do lock/unlock calls. The impact on non-threaded programs is minor. This change works with libc_r, so it's the best compromise. --- lib/libc/stdio/fflush.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'lib/libc/stdio/fflush.c') diff --git a/lib/libc/stdio/fflush.c b/lib/libc/stdio/fflush.c index aed57ec..f5c89e7 100644 --- a/lib/libc/stdio/fflush.c +++ b/lib/libc/stdio/fflush.c @@ -39,16 +39,13 @@ static char sccsid[] = "@(#)fflush.c 8.1 (Berkeley) 6/4/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: fflush.c,v 1.5 1997/02/22 15:01:50 peter Exp $"; #endif /* LIBC_SCCS and not lint */ #include #include #include "local.h" -#ifdef _THREAD_SAFE -#include -#include "pthread_private.h" -#endif +#include "libc_private.h" /* Flush a single file, or (if fp is NULL) all files. */ int @@ -59,18 +56,14 @@ fflush(fp) if (fp == NULL) return (_fwalk(__sflush)); -#ifdef _THREAD_SAFE - _thread_flockfile(fp,__FILE__,__LINE__); -#endif + FLOCKFILE(fp); if ((fp->_flags & (__SWR | __SRW)) == 0) { errno = EBADF; retval = EOF; } else { retval = __sflush(fp); } -#ifdef _THREAD_SAFE - _thread_funlockfile(fp); -#endif + FUNLOCKFILE(fp); return (retval); } -- cgit v1.1