diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-07-28 09:40:39 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-07-28 09:40:39 -0700 |
commit | b0948ffdcbdace63317297d3d3fe2556387dfcbd (patch) | |
tree | e06b5550fedc16845f23232aa87ee46a9e1a3571 /nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S | |
parent | e73e694e38b7b222eec3ec5897eb507d88bb8928 (diff) | |
download | glibc-b0948ffdcbdace63317297d3d3fe2556387dfcbd.tar.gz glibc-b0948ffdcbdace63317297d3d3fe2556387dfcbd.tar.xz glibc-b0948ffdcbdace63317297d3d3fe2556387dfcbd.zip |
Fix bookkeeping in mutex when using requeue_pi.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S index f1050fea7c..4d001eec7f 100644 --- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S @@ -64,8 +64,10 @@ __pthread_cond_signal: /* Get the address of the mutex used. */ movq dep_mutex(%r8), %rcx - testl $PI_BIT, MUTEX_KIND(%rcx) - jne 9f + movl MUTEX_KIND(%rcx), %eax + andl $(ROBUST_BIT|PI_BIT), %eax + cmpl $PI_BIT, %eax + je 9f #ifdef __ASSUME_PRIVATE_FUTEX movl $(FUTEX_WAKE_OP|FUTEX_PRIVATE_FLAG), %esi |