From 9485a404440e392dbcfdc157bbdf5c863f9c0fce Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Tue, 16 Oct 2012 14:23:01 +0530 Subject: Adjust mutex lock in condvar_cleanup if we got it from requeue_pi This completes the fix to bz #14652. --- nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S') 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 884987cf50..6011f69f12 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 @@ -662,7 +662,10 @@ __condvar_tw_cleanup: movl (%eax), %ebx andl $TID_MASK, %ebx cmpl %ebx, %gs:TID - je 9f + jne 8f + /* We managed to get the lock. Fix it up before returning. */ + call __pthread_mutex_cond_lock_adjust + jmp 9f 8: call __pthread_mutex_cond_lock -- cgit v1.2.1