diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2012-10-10 12:17:27 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2012-10-10 12:52:56 +0530 |
commit | 0e3b5d6a6859d74a18033d3a55e0ee92340437b3 (patch) | |
tree | b4f8c7fe139fb80e4fba77409942b68942a5df48 /nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym | |
parent | f96f12423a1b801f4a198f2568e29e85bd9cc473 (diff) | |
download | glibc-0e3b5d6a6859d74a18033d3a55e0ee92340437b3.tar.gz |
Take lock in pthread_cond_wait cleanup handler only when needed
[BZ #14652]
When a thread waiting in pthread_cond_wait with a PI mutex is
cancelled after it has returned successfully from the futex syscall
but just before async cancellation is disabled, it enters its
cancellation handler with the mutex held and simply calling a
mutex_lock again will result in a deadlock. Hence, it is necessary to
see if the thread owns the lock and try to lock it only if it doesn't.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym b/nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym index 46fbd0de74..0ac51dba98 100644 --- a/nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym +++ b/nptl/sysdeps/unix/sysv/linux/pthread-pi-defines.sym @@ -6,3 +6,4 @@ MUTEX_KIND offsetof (pthread_mutex_t, __data.__kind) ROBUST_BIT PTHREAD_MUTEX_ROBUST_NORMAL_NP PI_BIT PTHREAD_MUTEX_PRIO_INHERIT_NP PS_BIT PTHREAD_MUTEX_PSHARED_BIT +TID_MASK FUTEX_TID_MASK |