aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S5
1 files changed, 3 insertions, 2 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 f11a44ec43..811741b06d 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
@@ -206,14 +206,15 @@ __pthread_cond_timedwait:
call __pthread_mutex_lock_internal
addl $36, %esp
- movl %esi, %eax
+ /* We return the result of the mutex_lock operation if it failed. */
+ testl %eax, %eax
+ cmovel %esi, %eax
18: popl %ebx
popl %esi
popl %edi
popl %ebp
- /* We return the result of the mutex_lock operation. */
ret
/* Initial locking failed. */