summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-03-11 23:26:35 +0000
committerUlrich Drepper <drepper@redhat.com>2003-03-11 23:26:35 +0000
commit32a589b1ea1365c8651b0692d0350403fde7b6ff (patch)
tree77b94275bcf321370496c19d29267e8c66a8606d /nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
parent3e976b962a84255b70bcf6d9751a9a35d3e987ab (diff)
Update.
* cancellation.c (__pthread_enable_asynccancel_2): New function. * pthreadP.h: Declare __pthread_enable_asynccancel_2. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S (__pthread_cond_timedwait): Use __pthread_enable_asynccancel_2 instead of __pthread_enable_asynccancel. * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S (__pthread_cond_wait): Likewise. * sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise. * sysdeps/pthread/pthread_cond_wait.c (__pthread_cond_wait): Likewise.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
index b3a49e794a..c13c38290e 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
@@ -165,8 +165,8 @@ __pthread_cond_wait:
#endif
jne 3f
-4: call __pthread_enable_asynccancel
- movl %eax, (%esp)
+4: movl %esp, %eax
+ call __pthread_enable_asynccancel_2
movl %esi, %ecx /* movl $FUTEX_WAIT, %ecx */
movl %edi, %edx
@@ -175,6 +175,7 @@ __pthread_cond_wait:
ENTER_KERNEL
subl $wakeup_seq, %ebx
+ movl (%esp), %eax
call __pthread_disable_asynccancel
/* Lock. */