aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-07-12 15:27:35 +0000
committerJakub Jelinek <jakub@redhat.com>2007-07-12 15:27:35 +0000
commit1b5b08a2afb07a5275c2a7066a4bfff944d79bd2 (patch)
tree9b2a084dd005b40e982f6d66704687ecf3f0f02e /nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
parent7043950283586ef02f110483a1bca74a1ffcc382 (diff)
downloadglibc-1b5b08a2afb07a5275c2a7066a4bfff944d79bd2.tar
glibc-1b5b08a2afb07a5275c2a7066a4bfff944d79bd2.tar.gz
glibc-1b5b08a2afb07a5275c2a7066a4bfff944d79bd2.tar.bz2
glibc-1b5b08a2afb07a5275c2a7066a4bfff944d79bd2.zip
2007-05-25 Ulrich Drepper <drepper@redhat.com>
* Makefile (tests): Add tst-sem10. * tst-sem10.c: New file. 2007-05-25 Ulrich Drepper <drepper@redhat.com> Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (sem_timedwait): Move __pthread_enable_asynccancel right before futex syscall. * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait): Likewise.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S9
1 files changed, 5 insertions, 4 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
index aa1f9f41ca..e42f2dc7df 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
@@ -79,10 +79,7 @@ sem_timedwait:
jae 6f
cfi_offset(3, -16) /* %ebx */
-7: call __pthread_enable_asynccancel
- movl %eax, 8(%esp)
-
- xorl %ecx, %ecx
+7: xorl %ecx, %ecx
movl %esp, %ebx
movl %ecx, %edx
movl $SYS_gettimeofday, %eax
@@ -105,6 +102,10 @@ sem_timedwait:
movl %ecx, (%esp) /* Store relative timeout. */
movl %edx, 4(%esp)
+
+ call __pthread_enable_asynccancel
+ movl %eax, 8(%esp)
+
movl 28(%esp), %ebx
xorl %ecx, %ecx
movl %esp, %esi