This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.20-315-g217a74a


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  217a74a85cdd60df236c296ad88142b78d35eccf (commit)
      from  aa76a5c7010e98c737d79f37aa6ae668f60f7a00 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=217a74a85cdd60df236c296ad88142b78d35eccf

commit 217a74a85cdd60df236c296ad88142b78d35eccf
Author: Andreas Schwab <schwab@suse.de>
Date:   Mon Dec 8 15:13:38 2014 +0100

    Don't touch user-controlled stdio locks in forked child (bug 12847)
    
    The stdio locks for streams with the _IO_USER_LOCK flag should not be
    touched by internal code.

diff --git a/ChangeLog b/ChangeLog
index 03bba82..c2d99a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-10  Andreas Schwab  <schwab@suse.de>
+
+	[BZ #12847]
+	* sysdeps/nptl/fork.c (fresetlockfiles): Skip files with
+	user-controlled locks.
+
 2014-12-10  Richard Earnshaw  <rearnsha@arm.com>
 
 	* sysdeps/aarch64/strchrnul.S (vrepmask): Use a call-clobbered
diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c
index a7dafa8..7ef693d 100644
--- a/sysdeps/nptl/fork.c
+++ b/sysdeps/nptl/fork.c
@@ -46,7 +46,8 @@ fresetlockfiles (void)
   _IO_ITER i;
 
   for (i = _IO_iter_begin(); i != _IO_iter_end(); i = _IO_iter_next(i))
-    _IO_lock_init (*((_IO_lock_t *) _IO_iter_file(i)->_lock));
+    if ((_IO_iter_file (i)->_flags & _IO_USER_LOCK) == 0)
+      _IO_lock_init (*((_IO_lock_t *) _IO_iter_file(i)->_lock));
 }
 
 

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog           |    6 ++++++
 sysdeps/nptl/fork.c |    3 ++-
 2 files changed, 8 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]