(_IO_cleanup): Do not use locking when flushing the buffers. Some
authordrepper <drepper>
Mon, 9 Feb 2004 20:08:44 +0000 (20:08 +0000)
committerdrepper <drepper>
Mon, 9 Feb 2004 20:08:44 +0000 (20:08 +0000)
thread might be using a stream.

libio/genops.c

index 58dac00..5b65e76 100644 (file)
@@ -942,7 +942,9 @@ _IO_unbuffer_write ()
 int
 _IO_cleanup ()
 {
-  int result = INTUSE(_IO_flush_all) ();
+  /* We do *not* want locking.  Some threads might use streams but
+     that is there problem, we flush them underneath them.  */
+  int result = _IO_flush_all_lockp (0);
 
   /* We currently don't have a reliable mechanism for making sure that
      C++ static destructors are executed in the correct order.