From 6a150987938abfef78f72d0bf4ed6b427b25e040 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Thu, 15 Jan 2004 19:12:17 +0000 Subject: 2004-01-15 Thomas Pfaff * libc/stdio/fclose.c: Include sys/lock.h. (fclose): Destroy lock when file is closed. * libc/stdio/findfp.c (__sfp): Initialize file pointers _lock member. * libc/stdio/freopen.c: Include sys/lock.h. (_freopen_r): Destroy lock when file is closed. * libc/stdio/vfprintf.c (__sbprintf): Initialize file pointers _lock member. --- newlib/libc/stdio/freopen.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'newlib/libc/stdio/freopen.c') diff --git a/newlib/libc/stdio/freopen.c b/newlib/libc/stdio/freopen.c index 9010adcf7..6d54789da 100644 --- a/newlib/libc/stdio/freopen.c +++ b/newlib/libc/stdio/freopen.c @@ -71,6 +71,7 @@ Supporting OS subroutines required: <>, <>, <>, #include #include #include "local.h" +#include /* * Re-direct an existing, open (probably) file to some other file. @@ -150,6 +151,9 @@ _DEFUN (_freopen_r, (ptr, file, mode, fp), fp->_flags = 0; /* set it free */ ptr->_errno = e; /* restore in case _close clobbered */ _funlockfile(fp); +#ifndef __SINGLE_THREAD__ + __lock_close_recursive (*(_LOCK_RECURSIVE_T *)&fp->_lock); +#endif return NULL; } -- cgit v1.2.3