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.19-334-g8f630cc


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  8f630cca5c36941db1cb48726016bbed80ec1041 (commit)
      from  bc8f194c8c29e46e8ee4034f06e46988dfff38f7 (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=8f630cca5c36941db1cb48726016bbed80ec1041

commit 8f630cca5c36941db1cb48726016bbed80ec1041
Author: Yang Yingliang <yangyingliang@huawei.com>
Date:   Wed Apr 30 15:46:18 2014 +0530

    Fix lll_unlock twice in pthread_cond_broadcast
    
    lll_unlock() will be called again if it goes to "wake_all" in
    pthread_cond_broadcast(). This may make another thread which is
    waiting for lock in pthread_cond_timedwait() unlock.  So there are
    more than one threads get the lock, it will break the shared data.
    
    It's introduced by commit 8313cb997d2d("FUTEX_*_REQUEUE_PI support for
    non-x86 code")

diff --git a/ChangeLog b/ChangeLog
index 2b0821f..6bacb5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-04-30  Yang Yingliang  <yangyingliang@huawei.com>
+
+	* nptl/pthread_cond_broadcast.c (__pthread_cond_broadcast):
+	Return immediately after lll_futex_wake.
+
 2014-04-30  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	[BZ #16791]
diff --git a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c
index ed30e7c..7c6c9ea 100644
--- a/nptl/pthread_cond_broadcast.c
+++ b/nptl/pthread_cond_broadcast.c
@@ -81,6 +81,7 @@ __pthread_cond_broadcast (cond)
 
 wake_all:
       lll_futex_wake (&cond->__data.__futex, INT_MAX, pshared);
+      return 0;
     }
 
   /* We are done.  */

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

Summary of changes:
 ChangeLog                     |    5 +++++
 nptl/pthread_cond_broadcast.c |    1 +
 2 files changed, 6 insertions(+), 0 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]