glibc/nptl
Andreas Schwab f21e8f8ca4 Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bug 23861)
In the read lock function (__pthread_rwlock_rdlock_full) there was a
code path which would fail to reload __readers while waiting for
PTHREAD_RWLOCK_RWAITING to change. This failure to reload __readers
into a local value meant that various conditionals used the old value
of __readers and with only two threads left it could result in an
indefinite stall of one of the readers (waiting for PTHREAD_RWLOCK_RWAITING
to go to zero, but it never would).
2018-12-13 12:22:30 +01:00
..
alloca_cutoff.c
allocatestack.c
call_once.c
cancellation.c
cleanup_compat.c
cleanup_defer_compat.c
cleanup_defer.c
cleanup_routine.c
cleanup.c
cnd_broadcast.c
cnd_destroy.c
cnd_init.c
cnd_signal.c
cnd_timedwait.c
cnd_wait.c
compat-pthread_self.c
cond-perf.c
createthread.c
default-sched.h
descr.h
DESIGN-systemtap-probes.txt
eintr.c
elision-conf.h
errno-loc.c
events.c
forward.c
herrno.c
libc_multiple_threads.c
libc_pthread_init.c
libc-cancellation.c
libc-cleanup.c
libc-lowlevellock.c
lll_timedlock_wait.c
lll_timedwait_tid.c
lowlevellock.c
Makefile Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bug 23861) 2018-12-13 12:22:30 +01:00
mtx_destroy.c
mtx_init.c
mtx_lock.c
mtx_timedlock.c
mtx_trylock.c
mtx_unlock.c
nptl_lock_constants.pysym
nptl-init.c Mutex: Add pthread mutex tunables 2018-12-01 08:19:20 -08:00
nptl-printers.py Use gen-as-const.py to process .pysym files. 2018-12-10 22:56:59 +00:00
nptlfreeres.c
old_pthread_atfork.c
old_pthread_cond_broadcast.c
old_pthread_cond_destroy.c
old_pthread_cond_init.c
old_pthread_cond_signal.c
old_pthread_cond_timedwait.c
old_pthread_cond_wait.c
perf.c
pt-allocrtsig.c
pt-cleanup.c
pt-crti.S
pt-fork.c
pt-interp.c
pt-longjmp.c
pt-raise.c
pt-system.c
pt-vfork.c
pthread_atfork.c
pthread_attr_destroy.c
pthread_attr_getaffinity.c
pthread_attr_getdetachstate.c
pthread_attr_getguardsize.c
pthread_attr_getinheritsched.c
pthread_attr_getschedparam.c
pthread_attr_getschedpolicy.c
pthread_attr_getscope.c
pthread_attr_getstack.c
pthread_attr_getstackaddr.c
pthread_attr_getstacksize.c
pthread_attr_init.c
pthread_attr_setaffinity.c
pthread_attr_setdetachstate.c
pthread_attr_setguardsize.c
pthread_attr_setinheritsched.c
pthread_attr_setschedparam.c
pthread_attr_setschedpolicy.c
pthread_attr_setscope.c
pthread_attr_setstack.c
pthread_attr_setstackaddr.c
pthread_attr_setstacksize.c
pthread_barrier_destroy.c
pthread_barrier_init.c
pthread_barrier_wait.c
pthread_barrierattr_destroy.c
pthread_barrierattr_getpshared.c
pthread_barrierattr_init.c
pthread_barrierattr_setpshared.c
pthread_cancel.c
pthread_clock_gettime.c
pthread_clock_settime.c
pthread_cond_broadcast.c
pthread_cond_common.c
pthread_cond_destroy.c
pthread_cond_init.c
pthread_cond_signal.c
pthread_cond_wait.c
pthread_condattr_destroy.c
pthread_condattr_getclock.c
pthread_condattr_getpshared.c
pthread_condattr_init.c
pthread_condattr_setclock.c
pthread_condattr_setpshared.c
pthread_create.c
pthread_detach.c
pthread_equal.c
pthread_exit.c
pthread_getaffinity.c
pthread_getattr_default_np.c
pthread_getattr_np.c
pthread_getconcurrency.c
pthread_getcpuclockid.c
pthread_getname.c
pthread_getschedparam.c
pthread_getspecific.c
pthread_join_common.c
pthread_join.c
pthread_key_create.c
pthread_key_delete.c
pthread_kill_other_threads.c
pthread_kill.c
pthread_mutex_cond_lock.c
pthread_mutex_conf.c Mutex: Add pthread mutex tunables 2018-12-01 08:19:20 -08:00
pthread_mutex_conf.h Mutex: Add pthread mutex tunables 2018-12-01 08:19:20 -08:00
pthread_mutex_consistent.c Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
pthread_mutex_destroy.c Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
pthread_mutex_getprioceiling.c Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
pthread_mutex_init.c Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
pthread_mutex_lock.c Mutex: Add pthread mutex tunables 2018-12-01 08:19:20 -08:00
pthread_mutex_setprioceiling.c Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
pthread_mutex_timedlock.c Mutex: Add pthread mutex tunables 2018-12-01 08:19:20 -08:00
pthread_mutex_trylock.c Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
pthread_mutex_unlock.c Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
pthread_mutexattr_destroy.c
pthread_mutexattr_getprioceiling.c
pthread_mutexattr_getprotocol.c
pthread_mutexattr_getpshared.c
pthread_mutexattr_getrobust.c
pthread_mutexattr_gettype.c
pthread_mutexattr_init.c
pthread_mutexattr_setprioceiling.c
pthread_mutexattr_setprotocol.c
pthread_mutexattr_setpshared.c
pthread_mutexattr_setrobust.c
pthread_mutexattr_settype.c
pthread_once.c
pthread_rwlock_common.c Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bug 23861) 2018-12-13 12:22:30 +01:00
pthread_rwlock_destroy.c
pthread_rwlock_init.c
pthread_rwlock_rdlock.c
pthread_rwlock_timedrdlock.c
pthread_rwlock_timedwrlock.c
pthread_rwlock_tryrdlock.c
pthread_rwlock_trywrlock.c
pthread_rwlock_unlock.c
pthread_rwlock_wrlock.c
pthread_rwlockattr_destroy.c
pthread_rwlockattr_getkind_np.c
pthread_rwlockattr_getpshared.c
pthread_rwlockattr_init.c
pthread_rwlockattr_setkind_np.c
pthread_rwlockattr_setpshared.c
pthread_self.c
pthread_setaffinity.c
pthread_setattr_default_np.c
pthread_setcancelstate.c
pthread_setcanceltype.c
pthread_setconcurrency.c
pthread_setegid.c
pthread_seteuid.c
pthread_setgid.c
pthread_setname.c
pthread_setregid.c
pthread_setresgid.c
pthread_setresuid.c
pthread_setreuid.c
pthread_setschedparam.c
pthread_setschedprio.c
pthread_setspecific.c
pthread_setuid.c
pthread_sigmask.c
pthread_sigqueue.c
pthread_spin_destroy.c
pthread_spin_init.c
pthread_spin_lock.c
pthread_spin_trylock.c
pthread_spin_unlock.c
pthread_testcancel.c
pthread_timedjoin.c
pthread_tryjoin.c
pthread_yield.c
pthread-errnos.sym
pthread-pi-defines.sym
pthread-pids.h
pthreadP.h Mutex: Add pthread mutex tunables 2018-12-01 08:19:20 -08:00
register-atfork.c
res.c
sem_close.c
sem_destroy.c
sem_getvalue.c
sem_init.c
sem_open.c
sem_post.c
sem_timedwait.c
sem_unlink.c
sem_wait.c
sem_waitcommon.c
semaphoreP.h
shlib-versions
sigaction.c
smp.h
stack-aliasing.h
test-cond-printers.c
test-cond-printers.py
test-condattr-printers.c
test-condattr-printers.py
test-mutex-printers.c
test-mutex-printers.py
test-mutexattr-printers.c
test-mutexattr-printers.py
test-rwlock-printers.c
test-rwlock-printers.py
test-rwlockattr-printers.c
test-rwlockattr-printers.py
thrd_create.c
thrd_current.c
thrd_detach.c
thrd_equal.c
thrd_exit.c
thrd_join.c
thrd_priv.h
thrd_sleep.c
thrd_yield.c
TODO
TODO-kernel
TODO-testing
tpp.c
tss_create.c
tss_delete.c
tss_get.c
tss_set.c
tst-_res1.c
tst-_res1mod1.c
tst-_res1mod2.c
tst-abstime.c
tst-align3.c
tst-align.c
tst-atfork1.c
tst-atfork2.c
tst-atfork2mod.c
tst-attr1.c
tst-attr2.c
tst-attr3.c
tst-audit-threads-mod1.c Fix _dl_profile_fixup data-dependency issue (Bug 23690) 2018-11-30 18:05:32 -02:00
tst-audit-threads-mod2.c Fix _dl_profile_fixup data-dependency issue (Bug 23690) 2018-11-30 18:05:32 -02:00
tst-audit-threads.c Fix _dl_profile_fixup data-dependency issue (Bug 23690) 2018-11-30 18:05:32 -02:00
tst-audit-threads.h Fix _dl_profile_fixup data-dependency issue (Bug 23690) 2018-11-30 18:05:32 -02:00
tst-backtrace1.c
tst-bad-schedattr.c
tst-barrier1.c
tst-barrier2.c
tst-barrier3.c
tst-barrier4.c
tst-barrier5.c
tst-basic1.c
tst-basic2.c
tst-basic3.c
tst-basic4.c
tst-basic5.c
tst-basic6.c
tst-basic7.c
tst-call-once.c
tst-cancel1.c
tst-cancel2.c
tst-cancel3.c
tst-cancel4_1.c
tst-cancel4_2.c
tst-cancel4-common.c
tst-cancel4-common.h
tst-cancel4.c
tst-cancel5.c
tst-cancel6.c
tst-cancel7.c
tst-cancel8.c
tst-cancel9.c
tst-cancel10.c
tst-cancel11.c
tst-cancel12.c
tst-cancel13.c
tst-cancel14.c
tst-cancel15.c
tst-cancel16.c
tst-cancel17.c
tst-cancel18.c
tst-cancel19.c
tst-cancel20.c
tst-cancel21-static.c
tst-cancel21.c
tst-cancel22.c
tst-cancel23.c
tst-cancel24-static.cc
tst-cancel24.cc
tst-cancel25.c
tst-cancel26.c
tst-cancel27.c
tst-cancel-self-cancelstate.c
tst-cancel-self-canceltype.c
tst-cancel-self-cleanup.c
tst-cancel-self-testcancel.c
tst-cancel-self.c
tst-cancel-wrappers.sh
tst-cancelx1.c
tst-cancelx2.c
tst-cancelx3.c
tst-cancelx4.c
tst-cancelx5.c
tst-cancelx6.c
tst-cancelx7.c
tst-cancelx8.c
tst-cancelx9.c
tst-cancelx10.c
tst-cancelx11.c
tst-cancelx12.c
tst-cancelx13.c
tst-cancelx14.c
tst-cancelx15.c
tst-cancelx16.c
tst-cancelx17.c
tst-cancelx18.c
tst-cancelx20.c
tst-cancelx21.c
tst-cleanup0.c
tst-cleanup0.expect
tst-cleanup1.c
tst-cleanup2.c
tst-cleanup3.c
tst-cleanup4.c
tst-cleanup4aux.c
tst-cleanupx0.c
tst-cleanupx0.expect
tst-cleanupx1.c
tst-cleanupx2.c
tst-cleanupx3.c
tst-cleanupx4.c
tst-cleanupx4aux.c
tst-clock1.c
tst-clock2.c
tst-cnd-basic.c
tst-cnd-broadcast.c
tst-cnd-timedwait.c
tst-compat-forwarder-mod.c
tst-compat-forwarder.c
tst-cond1.c
tst-cond2.c
tst-cond3.c
tst-cond4.c
tst-cond5.c
tst-cond6.c
tst-cond7.c
tst-cond8-static.c
tst-cond8.c
tst-cond9.c
tst-cond10.c
tst-cond11-static.c Enable VDSO on x86_64 statically linked programs [BZ #19767] 2018-11-23 16:50:29 -08:00
tst-cond11.c
tst-cond12.c
tst-cond13.c
tst-cond14.c
tst-cond15.c
tst-cond16.c
tst-cond17.c
tst-cond18.c
tst-cond19.c
tst-cond20.c
tst-cond21.c
tst-cond22.c
tst-cond23.c
tst-cond24.c
tst-cond25.c
tst-cond-except.c
tst-context1.c
tst-create-detached.c
tst-default-attr.c
tst-detach1.c
tst-dlsym1.c
tst-eintr1.c
tst-eintr2.c
tst-eintr3.c
tst-eintr4.c
tst-eintr5.c
tst-exec1.c
tst-exec2.c
tst-exec3.c
tst-exec4.c
tst-exec5.c
tst-execstack-mod.c
tst-execstack.c
tst-exit1.c
tst-exit2.c
tst-exit3.c
tst-fini1.c
tst-fini1mod.c
tst-flock1.c
tst-flock2.c
tst-fork1.c
tst-fork2.c
tst-fork3.c
tst-fork4.c
tst-getpid3.c
tst-initializers1-c11.c
tst-initializers1-c89.c
tst-initializers1-c99.c
tst-initializers1-gnu11.c
tst-initializers1-gnu89.c
tst-initializers1-gnu99.c
tst-initializers1.c
tst-join1.c
tst-join2.c
tst-join3.c
tst-join4.c
tst-join5.c
tst-join6.c
tst-join7.c
tst-join7mod.c
tst-key1.c
tst-key2.c
tst-key3.c
tst-key4.c
tst-kill1.c
tst-kill2.c
tst-kill3.c
tst-kill4.c
tst-kill5.c
tst-kill6.c
tst-locale1.c
tst-locale2.c
tst-memstream.c
tst-minstack-cancel.c
tst-minstack-exit.c
tst-minstack-throw.cc
tst-mtx-basic.c
tst-mtx-recursive.c
tst-mtx-timedlock.c
tst-mtx-trylock.c
tst-mutex1.c
tst-mutex2.c
tst-mutex3.c
tst-mutex4.c
tst-mutex5.c
tst-mutex5a.c
tst-mutex6.c
tst-mutex7.c
tst-mutex7a.c
tst-mutex7robust.c
tst-mutex8-static.c
tst-mutex8.c
tst-mutex9.c
tst-mutex10.c Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
tst-mutex-errorcheck.c
tst-mutexpi1.c
tst-mutexpi2.c
tst-mutexpi3.c
tst-mutexpi4.c
tst-mutexpi5.c
tst-mutexpi5a.c
tst-mutexpi6.c
tst-mutexpi7.c
tst-mutexpi7a.c
tst-mutexpi8-static.c
tst-mutexpi8.c
tst-mutexpi9.c
tst-mutexpp1.c
tst-mutexpp6.c
tst-mutexpp10.c
tst-oddstacklimit.c
tst-once1.c
tst-once2.c
tst-once3.c
tst-once4.c
tst-once5.cc
tst-oncex3.c
tst-oncex4.c
tst-popen1.c
tst-pthread-attr-affinity.c
tst-pthread-getattr.c
tst-pthread-mutexattr.c
tst-raise1.c
tst-robust1.c
tst-robust2.c
tst-robust3.c
tst-robust4.c
tst-robust5.c
tst-robust6.c
tst-robust7.c
tst-robust8.c
tst-robust9.c
tst-robust10.c
tst-robust-fork.c
tst-robustpi1.c
tst-robustpi2.c
tst-robustpi3.c
tst-robustpi4.c
tst-robustpi5.c
tst-robustpi6.c
tst-robustpi7.c
tst-robustpi8.c
tst-robustpi9.c
tst-rwlock1.c
tst-rwlock2.c
tst-rwlock2a.c
tst-rwlock2b.c
tst-rwlock3.c
tst-rwlock4.c
tst-rwlock5.c
tst-rwlock6.c
tst-rwlock7.c
tst-rwlock8.c
tst-rwlock9.c
tst-rwlock10.c
tst-rwlock11.c
tst-rwlock12.c
tst-rwlock13.c
tst-rwlock14.c
tst-rwlock15.c
tst-rwlock16.c
tst-rwlock17.c
tst-rwlock18.c
tst-rwlock19.c
tst-rwlock20.c
tst-rwlock-pwn.c Fix rwlock stall with PREFER_WRITER_NONRECURSIVE_NP (bug 23861) 2018-12-13 12:22:30 +01:00
tst-sched1.c
tst-sem1.c
tst-sem2.c
tst-sem3.c
tst-sem4.c
tst-sem5.c
tst-sem6.c
tst-sem7.c
tst-sem8.c
tst-sem9.c
tst-sem10.c
tst-sem11-static.c
tst-sem11.c
tst-sem12-static.c
tst-sem12.c
tst-sem13.c
tst-sem14.c
tst-sem15.c
tst-sem16.c
tst-setuid1-static.c
tst-setuid1.c
tst-setuid2.c
tst-setuid3.c
tst-signal1.c
tst-signal2.c
tst-signal3.c
tst-signal4.c
tst-signal5.c
tst-signal6.c
tst-signal7.c
tst-spin1.c
tst-spin2.c
tst-spin3.c
tst-spin4.c
tst-stack1.c
tst-stack2.c
tst-stack3.c
tst-stack4.c
tst-stack4mod.c
tst-stackguard1-static.c
tst-stackguard1.c
tst-stdio1.c
tst-stdio2.c
tst-sysconf.c
tst-thrd-detach.c
tst-thrd-sleep.c
tst-thread_local1.cc
tst-thread-exit-clobber.cc
tst-tls1.c
tst-tls2.c
tst-tls3-malloc.c
tst-tls3.c
tst-tls3mod.c
tst-tls4.c
tst-tls4moda.c
tst-tls4modb.c
tst-tls5.c
tst-tls5.h
tst-tls5mod.c
tst-tls5moda.c
tst-tls5modb.c
tst-tls5modc.c
tst-tls5modd.c
tst-tls5mode.c
tst-tls5modf.c
tst-tls6.sh
tst-tpp.h
tst-tsd1.c
tst-tsd2.c
tst-tsd3.c
tst-tsd4.c
tst-tsd5.c
tst-tsd6.c
tst-tss-basic.c
tst-umask1.c
tst-unload.c
tst-vfork1.c
tst-vfork1x.c
tst-vfork2.c
tst-vfork2x.c
unwind.c
unwindbuf.sym
vars.c
version.c
Versions