From 32a589b1ea1365c8651b0692d0350403fde7b6ff Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 11 Mar 2003 23:26:35 +0000 Subject: 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. --- nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S | 5 +++-- nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'nptl/sysdeps/unix/sysv/linux/i386') diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S index 122be6f714..f11a44ec43 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S +++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S @@ -108,8 +108,8 @@ __pthread_cond_timedwait: #endif jne 3f -4: call __pthread_enable_asynccancel - movl %eax, (%esp) +4: movl %esp, %eax + call __pthread_enable_asynccancel_2 /* Get the current time. */ movl %ebx, %edx @@ -145,6 +145,7 @@ __pthread_cond_timedwait: subl $wakeup_seq, %ebx movl %eax, %esi + movl (%esp), %eax call __pthread_disable_asynccancel /* Lock. */ 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. */ -- cgit 1.4.1