summary refs log tree commit diff
path: root/libio/freopen.c
diff options
context:
space:
mode:
Diffstat (limited to 'libio/freopen.c')
-rw-r--r--libio/freopen.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libio/freopen.c b/libio/freopen.c
index 829af31dc1..5821e84c6f 100644
--- a/libio/freopen.c
+++ b/libio/freopen.c
@@ -35,8 +35,9 @@ freopen (filename, mode, fp)
   CHECK_FILE (fp, NULL);
   if (!(fp->_flags & _IO_IS_FILEBUF))
     return NULL;
-  flockfile (fp);
+  __libc_cleanup_region_start (&_IO_funlockfile, fp);
+  _IO_flockfile (fp);
   result = _IO_freopen (filename, mode, fp);
-  funlockfile (fp);
+  __libc_cleanup_region_end (1);
   return result;
 }