summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads/condvar.c
diff options
context:
space:
mode:
authorLeonid Lisovskiy <lly.dev@gmail.com>2016-05-29 10:06:55 +0300
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2016-05-31 21:00:13 +0200
commit361f679c652647cdea4d5a66999a4b96c1653576 (patch)
tree3c647ca4d3594e0598bc7d624a2f8ccf8ddbbfa0 /libpthread/linuxthreads/condvar.c
parent8b28fc50a3891f823531aa276008e1b1b17e0a79 (diff)
linuxthreads.old: Fix segfault when pthread_mutex_unlock() called against unlocked NORMAL mutex.
Althought, it is undefined behavior, there is no reason for segfault. Program received signal SIGSEGV, Segmentation fault. __pthread_unlock (lock=lock@entry=0x804b03c <lock+16>) at libpthread/linuxthreads.old/spinlock.c:231 231 (&lock->__status, oldstatus, (long)(thr->p_nextlock) & ~1L)) It occurs only on platforms which has HAS_COMPARE_AND_SWAP defined. Restore glibc commit fbaf6e72d6 "spinlock.c (__pthread_unlock): Don't crash if called for an untaken mutex." behavior, broken later by commit 4ad1d0cfbf. Signed-off-by: Leonid Lisovskiy <lly.dev@gmail.com>
Diffstat (limited to 'libpthread/linuxthreads/condvar.c')
0 files changed, 0 insertions, 0 deletions