diff options
author | Yang Yingliang <yangyingliang@huawei.com> | 2014-04-30 15:46:18 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-04-30 15:46:19 +0530 |
commit | 8f630cca5c36941db1cb48726016bbed80ec1041 (patch) | |
tree | 68086952458460cb91dabb70b87a63c35bf83112 /ChangeLog | |
parent | bc8f194c8c29e46e8ee4034f06e46988dfff38f7 (diff) | |
download | glibc-8f630cca5c36941db1cb48726016bbed80ec1041.tar glibc-8f630cca5c36941db1cb48726016bbed80ec1041.tar.gz glibc-8f630cca5c36941db1cb48726016bbed80ec1041.tar.bz2 glibc-8f630cca5c36941db1cb48726016bbed80ec1041.zip |
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")
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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] |