Fix lll_unlock twice in pthread_cond_broadcast
authorYang Yingliang <yangyingliang@huawei.com>
Wed, 30 Apr 2014 10:16:18 +0000 (15:46 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Wed, 30 Apr 2014 10:16:19 +0000 (15:46 +0530)
commit8f630cca5c36941db1cb48726016bbed80ec1041
tree68086952458460cb91dabb70b87a63c35bf83112
parentbc8f194c8c29e46e8ee4034f06e46988dfff38f7
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")
ChangeLog
nptl/pthread_cond_broadcast.c