glibc/sysdeps/pthread
Arjun Shankar ff450cdbde Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose
In multi-threaded programs, registering via pthread_atfork,
de-registering implicitly via dlclose, or running pthread_atfork
handlers during fork was protected by an internal lock.  This meant
that a pthread_atfork handler attempting to register another handler or
dlclose a dynamically loaded library would lead to a deadlock.

This commit fixes the deadlock in the following way:

During the execution of handlers at fork time, the atfork lock is
released prior to the execution of each handler and taken again upon its
return.  Any handler registrations or de-registrations that occurred
during the execution of the handler are accounted for before proceeding
with further handler execution.

If a handler that hasn't been executed yet gets de-registered by another
handler during fork, it will not be executed.   If a handler gets
registered by another handler during fork, it will not be executed
during that particular fork.

The possibility that handlers may now be registered or deregistered
during handler execution means that identifying the next handler to be
run after a given handler may register/de-register others requires some
bookkeeping.  The fork_handler struct has an additional field, 'id',
which is assigned sequentially during registration.  Thus, handlers are
executed in ascending order of 'id' during 'prepare', and descending
order of 'id' during parent/child handler execution after the fork.

Two tests are included:

* tst-atfork3: Adhemerval Zanella <adhemerval.zanella@linaro.org>
  This test exercises calling dlclose from prepare, parent, and child
  handlers.

* tst-atfork4: This test exercises calling pthread_atfork and dlclose
  from the prepare handler.

[BZ #24595, BZ #27054]

Co-authored-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
(cherry picked from commit 52a103e237)
2022-05-30 12:38:32 +02:00
..
bits Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
allocalim.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
call_once.c nptl: Move call_once into libc 2021-05-03 08:14:01 +02:00
cnd_broadcast.c nptl: Move cnd_broadcast into libc 2021-05-03 08:14:17 +02:00
cnd_destroy.c nptl: Move cnd_destroy into libc 2021-05-03 08:14:28 +02:00
cnd_init.c nptl: Move cnd_init into libc 2021-05-03 08:14:38 +02:00
cnd_signal.c nptl: Move cnd_signal into libc 2021-05-03 08:14:49 +02:00
cnd_timedwait.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
cnd_wait.c nptl: Move cnd_wait into libc 2021-05-03 08:15:10 +02:00
eintr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
elision-conf.h nptl: Move elision implementations into libc 2021-02-23 14:59:34 +01:00
Makeconfig Clean up definition of _LIBC_REENTRANT and _IO_MTSAFE_IO. 2012-08-17 09:35:15 -07:00
Makefile Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose 2022-05-30 12:38:32 +02:00
mtx_destroy.c nptl: Move mtx_destroy into libc 2021-05-03 08:15:15 +02:00
mtx_init.c nptl: Move mtx_init into libc 2021-05-03 08:15:22 +02:00
mtx_lock.c nptl: Move mtx_lock into libc 2021-05-03 08:15:41 +02:00
mtx_timedlock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mtx_trylock.c nptl: Move mtx_trylock into libc 2021-05-03 08:15:58 +02:00
mtx_unlock.c nptl: Move mtx_unlock into libc 2021-05-03 08:16:48 +02:00
posix-timer.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
pthread_atfork_compat.c Consolidate pthread_atfork 2021-06-24 10:04:41 -03:00
pthread_atfork.c Consolidate pthread_atfork 2021-06-24 10:04:41 -03:00
pthread_early_init.h pthread: Introduce __pthread_early_init 2021-04-21 19:49:51 +02:00
pthread_mutex_conf.h nptl: Move internal symbol __mutex_aconf into libc 2021-04-21 19:49:51 +02:00
sem_close.c nptl: Move sem_close, sem_open into libc 2021-05-05 17:19:38 +02:00
sem_open.c nptl: Move sem_close, sem_open into libc 2021-05-05 17:19:38 +02:00
sem_routines.c nptl: Move sem_close, sem_open into libc 2021-05-05 17:19:38 +02:00
sem_routines.h pthread: Refactor semaphore code 2021-02-08 14:10:42 -03:00
sem_unlink.c nptl: Move sem_unlink into libc 2021-05-05 17:19:50 +02:00
semaphore.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
thrd_create.c nptl: Move pthread_create, thrd_create into libc 2021-05-21 22:35:00 +02:00
thrd_detach.c nptl: Move pthread_detach, thrd_detach into libc 2021-05-11 11:24:39 +02:00
thrd_equal.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
thrd_exit.c nptl: Move thrd_exit into libc 2021-05-03 08:17:15 +02:00
thrd_join.c nptl: Move thread join functions into libc 2021-05-11 11:24:39 +02:00
thrd_priv.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
thrd_sleep.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
threads.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
tss_create.c nptl: Move tss_create into libc 2021-05-03 08:17:29 +02:00
tss_delete.c nptl: Move tss_delete into libc 2021-05-03 08:17:38 +02:00
tss_get.c nptl: Move tss_get into libc 2021-05-03 08:18:01 +02:00
tss_set.c nptl: Move tss_set into libc 2021-05-03 08:18:08 +02:00
tst-_res1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-_res1mod1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-_res1mod2.c htl: Enable more tests 2020-06-07 23:45:25 +00:00
tst-abstime-time64.c y2038: Add test coverage 2021-06-15 10:42:11 -03:00
tst-abstime.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-atfork1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-atfork2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-atfork2mod.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-atfork3.c Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose 2022-05-30 12:38:32 +02:00
tst-atfork3mod.c Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose 2022-05-30 12:38:32 +02:00
tst-atfork4.c Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose 2022-05-30 12:38:32 +02:00
tst-atfork4mod.c Fix deadlock when pthread_atfork handler calls pthread_atfork or dlclose 2022-05-30 12:38:32 +02:00
tst-attr1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-backtrace1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-bad-schedattr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-barrier1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-barrier2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-barrier3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-barrier4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-basic1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-basic2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-basic3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-basic4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-basic5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-basic6.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-basic7.c pthread: Move basic tests from nptl to sysdeps/pthread 2020-02-09 16:12:53 +00:00
tst-call-once.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel4-common.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel4-common.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel5.c htl: Enable tst-cancelx?[45] 2020-08-06 23:38:35 +00:00
tst-cancel6.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel8.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel9.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel10.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel11.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel12.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel13.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel14.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel15.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel16.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel18.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel19.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel20.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel21-static.c htl: Enable more cancel tests 2020-06-10 21:34:19 +00:00
tst-cancel21.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel22.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel23.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancel25.c htl: Enable tst-cancel25 test 2020-06-24 00:02:31 +02:00
tst-cancel26.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel27.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel28.c pthread/tst-cancel28: Fix barrier re-init race condition 2021-12-14 10:07:27 +05:30
tst-cancel29.c nptl: Handle spurious EINTR when thread cancellation is disabled (BZ#29029) 2022-04-15 09:52:54 -03:00
tst-cancel-self-cancelstate.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel-self-canceltype.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel-self-cleanup.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel-self-testcancel.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancel-self.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cancelx1.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancelx2.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancelx3.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancelx4.c htl: Enable tst-cancelx?[45] 2020-08-06 23:38:35 +00:00
tst-cancelx5.c htl: Enable tst-cancelx?[45] 2020-08-06 23:38:35 +00:00
tst-cancelx6.c htl: Enable more cancel tests 2020-06-10 21:34:19 +00:00
tst-cancelx8.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancelx9.c htl: Enable more cancellation tests 2020-06-14 16:16:59 +00:00
tst-cancelx10.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancelx11.c htl: Enable more cancel tests 2020-06-10 21:34:19 +00:00
tst-cancelx12.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancelx13.c htl: Make sem_*wait cancellations points 2020-06-24 01:19:49 +02:00
tst-cancelx14.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancelx15.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancelx16.c htl: Enable cancel*16 an cancel*20 tests 2020-06-29 00:16:33 +00:00
tst-cancelx18.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cancelx20.c htl: Enable cancel*16 an cancel*20 tests 2020-06-29 00:16:33 +00:00
tst-cancelx21.c htl: Enable more cancel tests 2020-06-10 21:34:19 +00:00
tst-cleanup0.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cleanup0.expect htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cleanup1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cleanup2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cleanup3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cleanupx0.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cleanupx0.expect htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cleanupx1.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cleanupx2.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-cleanupx3.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-clock1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cnd-basic.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cnd-broadcast.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cnd-timedwait-time64.c y2038: Add test coverage 2021-06-15 10:42:11 -03:00
tst-cnd-timedwait.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond6.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond7.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond8-static.c pthread: Move most cond tests from nptl to sysdeps/pthread 2020-02-09 19:24:44 +00:00
tst-cond8.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond9.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond10.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond11-static.c pthread: Move most cond tests from nptl to sysdeps/pthread 2020-02-09 19:24:44 +00:00
tst-cond11-time64.c y2038: Add test coverage 2021-06-15 10:42:11 -03:00
tst-cond11.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond12.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond13.c pthread: Move most cond tests from nptl to sysdeps/pthread 2020-02-09 19:24:44 +00:00
tst-cond14.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond15.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond16.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond17.c pthread: Move most cond tests from nptl to sysdeps/pthread 2020-02-09 19:24:44 +00:00
tst-cond18.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond19.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond20.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond21.c htl: Make pthread_cond_destroy wait for threads to be woken 2020-06-01 17:38:31 +00:00
tst-cond23.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond24.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond25.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond27.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-cond-except.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-create1.c nptl: Add one more barrier to nptl/tst-create1 2021-12-10 11:56:06 +01:00
tst-create1mod.c elf: Avoid deadlock between pthread_create and ctors [BZ #28357] 2021-10-19 14:21:14 +02:00
tst-create-detached.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-detach1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-eintr2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-eintr3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-eintr4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-eintr5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-exec1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-exec2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-exec3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-exit1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-exit2.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-exit3.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-fini1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-fini1mod.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-flock1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-flock2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-fork1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-fork2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-fork3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-fork4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-getpid3.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-join1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join6.c pthread: Move some join tests from nptl to sysdeps/pthread 2020-02-10 01:21:46 +00:00
tst-join7.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join7mod.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join8.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join9.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join10.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join11.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join12.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join13.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join14-time64.c y2038: Add test coverage 2021-06-15 10:42:11 -03:00
tst-join14.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-join15.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-key1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-key2.c Pass a valid pointer to pthread_setspecific to avoid GCC 11 warning. 2021-04-27 19:07:49 -06:00
tst-key3.c Pass a valid pointer to pthread_setspecific to avoid GCC 11 warning. 2021-04-27 19:07:49 -06:00
tst-key4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-kill1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-kill2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-kill3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-kill5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-kill6.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-locale1.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-locale2.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-memstream.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mtx-basic.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mtx-recursive.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mtx-timedlock-time64.c y2038: Add test coverage 2021-06-15 10:42:11 -03:00
tst-mtx-timedlock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mtx-trylock.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex6.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex7.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex7robust.c htl: Add clock variants 2020-05-26 00:46:07 +00:00
tst-mutex9.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex10.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex11.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-mutex-errorcheck.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-once1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-once2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-once3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-once4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-oncex3.c pthread: Move most once tests from nptl to sysdeps/pthread 2020-02-09 19:50:21 +00:00
tst-oncex4.c pthread: Move most once tests from nptl to sysdeps/pthread 2020-02-09 19:50:21 +00:00
tst-oncey3.c [PATCH] pthread_once hangs when init routine throws an exception [BZ #18435] 2021-03-04 15:15:33 +01:00
tst-oncey4.c [PATCH] pthread_once hangs when init routine throws an exception [BZ #18435] 2021-03-04 15:15:33 +01:00
tst-pt-align3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-pt-align.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-pt-popen1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-pt-sysconf.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-pt-tls1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-pt-tls2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-pt-tls4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-pt-vfork1.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-pt-vfork2.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-pthread_cancel-exited.c nptl: pthread_kill, pthread_cancel should not fail after exit (bug 19193) 2021-09-13 13:38:51 +02:00
tst-pthread_cancel-select-loop.c nptl: Fix race between pthread_kill and thread exit (bug 12889) 2021-09-13 13:38:51 +02:00
tst-pthread_kill-exited.c nptl: pthread_kill needs to return ESRCH for old programs (bug 19193) 2021-09-20 14:58:57 +02:00
tst-pthread_kill-exiting.c nptl: Fix race between pthread_kill and thread exit (bug 12889) 2021-09-13 13:38:51 +02:00
tst-pthread-exit-signal.c nptl: Do not set signal mask on second setjmp return [BZ #28607] 2021-11-24 09:22:10 +01:00
tst-pthread-mutexattr.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-pthread-raise-blocked-self.c nptl: pthread_kill must send signals to a specific thread [BZ #28407] 2021-10-01 18:18:15 +02:00
tst-pthread-setuid-loop.c nptl: Avoid setxid deadlock with blocked signals in thread exit [BZ #28361] 2021-09-23 11:02:19 +02:00
tst-raise1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-robust1.c pthread: Use pthread_mutexattr_setrobust in tests 2021-04-23 09:51:57 +02:00
tst-robust2.c pthread: Move robust mutex tests from nptl to sysdeps/pthread 2020-02-16 14:43:54 +00:00
tst-robust3.c pthread: Move robust mutex tests from nptl to sysdeps/pthread 2020-02-16 14:43:54 +00:00
tst-robust4.c pthread: Move robust mutex tests from nptl to sysdeps/pthread 2020-02-16 14:43:54 +00:00
tst-robust5.c pthread: Move robust mutex tests from nptl to sysdeps/pthread 2020-02-16 14:43:54 +00:00
tst-robust6.c pthread: Move robust mutex tests from nptl to sysdeps/pthread 2020-02-16 14:43:54 +00:00
tst-robust7.c pthread: Use pthread_mutexattr_setrobust in tests 2021-04-23 09:51:57 +02:00
tst-robust8.c pthread: Use pthread_mutexattr_setrobust in tests 2021-04-23 09:51:57 +02:00
tst-robust9.c pthread: Use pthread_mutexattr_setrobust in tests 2021-04-23 09:51:57 +02:00
tst-robust10.c pthread: Use pthread_mutexattr_setrobust in tests 2021-04-23 09:51:57 +02:00
tst-rwlock1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rwlock4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rwlock5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rwlock12.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rwlock13.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rwlock14-time64.c y2038: Add test coverage 2021-06-15 10:42:11 -03:00
tst-rwlock14.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rwlock16.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rwlock-tryrdlock-stall.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-rwlock-trywrlock-stall.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem5-time64.c y2038: Add test coverage 2021-06-15 10:42:11 -03:00
tst-sem5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem6.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem7.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem8.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem9.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem10.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem14.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem15.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-sem16.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-setuid3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-signal1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-signal2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-signal4.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-signal5.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-signal6.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-signal8.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-spin1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-spin2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-spin3.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-spin4.c pthread: Move spin tests from nptl to sysdeps/pthread 2020-02-09 17:00:44 +00:00
tst-stack1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-stdio1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-stdio2.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-thrd-detach.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-thrd-sleep-time64.c y2038: Add test coverage 2021-06-15 10:42:11 -03:00
tst-thrd-sleep.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-timer.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-tls4moda.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-tls4modb.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-tsd1.c Pass a valid pointer to pthread_setspecific to avoid GCC 11 warning. 2021-04-27 19:07:49 -06:00
tst-tsd2.c Pass a valid pointer to pthread_setspecific to avoid GCC 11 warning. 2021-04-27 19:07:49 -06:00
tst-tsd5.c Pass a valid pointer to pthread_setspecific to avoid GCC 11 warning. 2021-04-27 19:07:49 -06:00
tst-tsd6.c Pass a valid pointer to pthread_setspecific to avoid GCC 11 warning. 2021-04-27 19:07:49 -06:00
tst-tss-basic.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-umask1.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-unload.c Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
tst-unwind-thread.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-vfork1x.c htl: Enable more tests 2020-06-07 13:35:54 +02:00
tst-vfork2x.c htl: Enable more tests 2020-06-07 13:35:54 +02:00