diff options
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.S | 6 |
1 files changed, 4 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 ff3a1ccef3..b38fd6bf3b 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 @@ -65,11 +65,13 @@ __pthread_cond_wait: /* Store the reference to the mutex. If there is already a different value in there this is a bad user bug. */ -2: movl 20(%esp), %eax +2: cmpl $-1, dep_mutex(%ebx) + movl 20(%esp), %eax + je 15f movl %eax, dep_mutex(%ebx) /* Unlock the mutex. */ - xorl %edx, %edx +15: xorl %edx, %edx call __pthread_mutex_unlock_usercnt testl %eax, %eax |