Fix locking in _IO_flush_all_lockp

This commit is contained in:
Andreas Schwab 2011-11-07 15:07:31 +01:00
parent ae1bc2fa1c
commit 7583a88d1c
2 changed files with 5 additions and 2 deletions

View File

@ -1,5 +1,8 @@
2011-11-07 Andreas Schwab <schwab@redhat.com>
* 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.

View File

@ -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;