diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-03-11 23:26:35 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-03-11 23:26:35 +0000 |
commit | 32a589b1ea1365c8651b0692d0350403fde7b6ff (patch) | |
tree | 77b94275bcf321370496c19d29267e8c66a8606d /nptl/sysdeps/unix/sysv/linux/i386 | |
parent | 3e976b962a84255b70bcf6d9751a9a35d3e987ab (diff) | |
download | glibc-32a589b1ea1365c8651b0692d0350403fde7b6ff.tar.gz glibc-32a589b1ea1365c8651b0692d0350403fde7b6ff.tar.xz glibc-32a589b1ea1365c8651b0692d0350403fde7b6ff.zip |
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')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S | 5 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S | 5 |
2 files changed, 6 insertions, 4 deletions
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. */ |