aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-03-02 00:28:24 +0000
committerUlrich Drepper <drepper@redhat.com>2006-03-02 00:28:24 +0000
commit672ec465f2f3a2807a189daf03ffe011c14a466d (patch)
treea0279dbd781f5d9afc5310f642cda87b1db9c1d7
parent42b6ddfca528a12ff7b4065e8ca8c2631d754260 (diff)
downloadglibc-672ec465f2f3a2807a189daf03ffe011c14a466d.zip
glibc-672ec465f2f3a2807a189daf03ffe011c14a466d.tar.gz
glibc-672ec465f2f3a2807a189daf03ffe011c14a466d.tar.bz2
* sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
(__lll_robust_lock_wait): Also set FUTEX_WAITERS bit if we got the mutex. (__lll_robust_timedlock_wait): Likewise. * sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S (__lll_robust_lock_wait): Likewise. (__lll_robust_timedlock_wait): Likewise. * sysdeps/unix/sysv/linux/lowlevelrobustlock.c (__lll_robust_lock_wait): Likewise. (__lll_robust_timedlock_wait): Likewise.
-rw-r--r--nptl/ChangeLog13
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S2
2 files changed, 15 insertions, 0 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 84d9b71..f5c5299 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,16 @@
+2006-03-01 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
+ (__lll_robust_lock_wait): Also set FUTEX_WAITERS bit if we got the
+ mutex.
+ (__lll_robust_timedlock_wait): Likewise.
+ * sysdeps/unix/sysv/linux/i386/i486/lowlevelrobustlock.S
+ (__lll_robust_lock_wait): Likewise.
+ (__lll_robust_timedlock_wait): Likewise.
+ * sysdeps/unix/sysv/linux/lowlevelrobustlock.c
+ (__lll_robust_lock_wait): Likewise.
+ (__lll_robust_timedlock_wait): Likewise.
+
2006-03-01 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h (lll_robust_mutex_dead,
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
index 7bb9191..1a088e2 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
@@ -78,6 +78,7 @@ __lll_robust_mutex_lock_wait:
jne 4b
movl %fs:TID, %edx
+ orl $FUTEX_WAITERS, %edx
LOCK
cmpxchgl %edx, (%rdi)
jnz 4b
@@ -169,6 +170,7 @@ __lll_robust_mutex_timedlock_wait:
jne 7f
movl %fs:TID, %edx
+ orl $FUTEX_WAITERS, %edx
LOCK
cmpxchgl %edx, (%r12)
jnz 7f