From 7583a88d1c7170caad26966bcea8bfc2c92093ba Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Mon, 7 Nov 2011 15:07:31 +0100 Subject: [PATCH] Fix locking in _IO_flush_all_lockp --- ChangeLog | 3 +++ libio/genops.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b09f5efe64..3a71044b6d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-11-07 Andreas Schwab + * libio/genops.c (_IO_flush_all_lockp): Only register cleanup + handler when locking. + * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Fix size of allocated buffer. diff --git a/libio/genops.c b/libio/genops.c index 5d21c42404..bb40c34356 100644 --- a/libio/genops.c +++ b/libio/genops.c @@ -826,7 +826,7 @@ _IO_flush_all_lockp (int do_lock) int last_stamp; #ifdef _IO_MTSAFE_IO - _IO_cleanup_region_start_noarg (flush_cleanup); + __libc_cleanup_region_start (do_lock, flush_cleanup, 0); if (do_lock) _IO_lock_lock (list_all_lock); #endif @@ -866,7 +866,7 @@ _IO_flush_all_lockp (int do_lock) #ifdef _IO_MTSAFE_IO if (do_lock) _IO_lock_unlock (list_all_lock); - _IO_cleanup_region_end (0); + __libc_cleanup_region_end (0); #endif return result; -- 2.43.5