freebsd-nq/lib/libthr/thread
Konstantin Belousov 85d028223b libthr malloc: support recursion on thr_malloc_umtx.
One possible way the recursion can happen is during fork: suppose
that fork is called from early code that did not triggered
jemalloc(3) initialization yet. Then we lock thr_malloc lock, and
call malloc_prefork() that might require initialization of jemalloc
pthread_mutexes, calling into libthr malloc. It is safe to allow
recursion for this occurence.

PR:	252579
Reported by:	Vasily Postnicov <shamaz.mazum@gmail.com>
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2021-01-12 12:45:44 +02:00
..
Makefile.inc Untangle jemalloc and mutexes initialization. 2019-01-29 22:46:44 +00:00
thr_affinity.c
thr_attr.c Style. 2020-11-26 20:23:17 +00:00
thr_autoinit.c
thr_barrier.c
thr_barrierattr.c
thr_cancel.c Return success, instead of ESRCH, from pthread_cancel(3) applied to the 2020-02-13 23:22:12 +00:00
thr_clean.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_concurrency.c
thr_cond.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_condattr.c
thr_create.c Use sigfastblock(2) for masking signals in libthr. 2020-02-09 12:27:22 +00:00
thr_ctrdtr.c
thr_detach.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_equal.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_event.c
thr_exit.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_fork.c libthr: wrap pdfork(2), same as fork(2). 2021-01-11 22:59:52 +02:00
thr_getcpuclockid.c
thr_getprio.c
thr_getschedparam.c
thr_getthreadid_np.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_info.c Add pthread_getname_np() and pthread_setname_np() aliases for 2020-06-10 22:13:24 +00:00
thr_init.c libc: Add pthread_attr_get_np(3) stub, reporting ESRCH. 2020-11-28 12:19:20 +00:00
thr_join.c Add pthread_peekjoin_np(3). 2020-02-15 23:25:39 +00:00
thr_kern.c _thr_setthreaded() cannot fail; change return type to void 2018-11-30 03:01:32 +00:00
thr_kill.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_list.c Fix initial exec TLS mode for dynamically loaded shared objects. 2019-03-29 17:52:57 +00:00
thr_main_np.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_malloc.c libthr malloc: support recursion on thr_malloc_umtx. 2021-01-12 12:45:44 +02:00
thr_multi_np.c
thr_mutex.c Ensure that threading library is initialized in pthread_mutex_init(). 2020-11-30 17:00:36 +00:00
thr_mutexattr.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_once.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_printf.c
thr_private.h libthr: wrap pdfork(2), same as fork(2). 2021-01-11 22:59:52 +02:00
thr_pshared.c
thr_pspinlock.c
thr_resume_np.c
thr_rtld.c Use sigfastblock(2) for masking signals in libthr. 2020-02-09 12:27:22 +00:00
thr_rwlock.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_rwlockattr.c
thr_self.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_sem.c
thr_setprio.c
thr_setschedparam.c
thr_sig.c Use sigfastblock(2) for masking signals in libthr. 2020-02-09 12:27:22 +00:00
thr_single_np.c
thr_sleepq.c
thr_spec.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_spinlock.c Use _thr_isthreaded() and _thr_setthreaded() wrappers 2018-11-30 03:02:49 +00:00
thr_stack.c
thr_suspend_np.c
thr_switch_np.c
thr_symbols.c
thr_syscalls.c libthr: wrap pdfork(2), same as fork(2). 2021-01-11 22:59:52 +02:00
thr_umtx.c
thr_umtx.h
thr_yield.c