summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-05-26 04:49:06 +0000
committerUlrich Drepper <drepper@redhat.com>2007-05-26 04:49:06 +0000
commit42e6c66593eb7a07afd58e70bef9aeed9f910548 (patch)
tree917aa294557cf8439bdccc82c1e45a34edea2584 /nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
parent3d2dd6ca71fa9933e3413625d606f4b486661409 (diff)
* sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Add private futex
support. * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_post.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S11
1 files changed, 8 insertions, 3 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
index bb4d6443e9..d0eef75144 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
@@ -29,7 +29,7 @@
#endif
#define SYS_futex 240
-#define FUTEX_WAKE 1
+#define FUTEX_WAIT 0
#if VALUE != 0
@@ -76,10 +76,15 @@ __new_sem_wait:
6: call __pthread_enable_asynccancel
movl %eax, (%esp)
+#if FUTEX_WAIT == 0
+ movl PRIVATE(%ebx), %ecx
+#else
+ movl $FUTEX_WAIT, %ecx
+ orl PRIVATE(%ebx), %ecx
+#endif
xorl %esi, %esi
+ xorl %edx, %edx
movl $SYS_futex, %eax
- movl %esi, %ecx
- movl %esi, %edx
ENTER_KERNEL
movl %eax, %esi