[PATCH] Fix _IO_default_finish
Jakub Jelinek
jakub@redhat.com
Fri Apr 13 17:09:00 GMT 2007
Hi!
_IO_un_link calls flockfile/funlockfile, so I guess we shouldn't
destroy the lock before that.
2007-04-13 Jakub Jelinek <jakub@redhat.com>
* libio/genops.c (_IO_default_finish): Call _IO_lock_fini
after _IO_un_link, not before it.
--- libc/genops.c.jj 2007-01-17 11:18:43.000000000 +0100
+++ libc/genops.c 2007-04-13 19:04:23.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,1995,1997-2002, 2003, 2004, 2006
+/* Copyright (C) 1993,1995,1997-2002, 2003, 2004, 2006, 2007
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -696,12 +696,12 @@ _IO_default_finish (fp, dummy)
fp->_IO_save_base = NULL;
}
+ INTUSE(_IO_un_link) ((struct _IO_FILE_plus *) fp);
+
#ifdef _IO_MTSAFE_IO
if (fp->_lock != NULL)
_IO_lock_fini (*fp->_lock);
#endif
-
- INTUSE(_IO_un_link) ((struct _IO_FILE_plus *) fp);
}
INTDEF(_IO_default_finish)
Jakub
More information about the Libc-hacker
mailing list