freebsd-skq/lib/libthr/thread
Konstantin Belousov 4dafad49c6 Do not leak curthread->inact_mtx when cancelling in pthread_cond_wait(3).
Leave robust-protected region before checking for cancellation by
calling _thr_testcancel().  Otherwise, if cancelling request was
pending, the cancel handler is called with the dandling inact_mtx,
which triggers an assert if any mutex operation is performed by the
handler.

Reported and tested by:	Dimitri Staessens <dimitri.staessens@intec.ugent.be>
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2016-12-06 17:13:17 +00:00
..
Makefile.inc Implement process-shared locks support for libthr.so.3, without 2016-02-28 17:52:33 +00:00
thr_affinity.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_attr.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_autoinit.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_barrier.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_barrierattr.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_cancel.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_clean.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_concurrency.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_cond.c Do not leak curthread->inact_mtx when cancelling in pthread_cond_wait(3). 2016-12-06 17:13:17 +00:00
thr_condattr.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_create.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_ctrdtr.c Merge all the copies of _tcb_ctor and _tcb_dtor. 2015-01-21 16:41:05 +00:00
thr_detach.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_equal.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_event.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_exit.c Add __cxa_thread_atexit(3) API implementation. 2016-08-06 13:32:40 +00:00
thr_fork.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_getcpuclockid.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_getprio.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_getschedparam.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_getthreadid_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_info.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_init.c Remove empty initializer for the once facility. It was not needed 2016-07-27 15:14:11 +00:00
thr_join.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_kern.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_kill.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_list.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_main_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_multi_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_mutex.c Revert r302194, there are issues with some applications after changing 2016-06-25 20:20:24 +00:00
thr_mutexattr.c Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
thr_once.c Remove empty initializer for the once facility. It was not needed 2016-07-27 15:14:11 +00:00
thr_printf.c libthr: _thread_vprintf: Enhance support for %p, %#x 2016-06-01 16:11:09 +00:00
thr_private.h Remove empty initializer for the once facility. It was not needed 2016-07-27 15:14:11 +00:00
thr_pshared.c Lock pshared_lock shared around fork, to ensure that the COW snapshot 2016-03-21 06:52:35 +00:00
thr_pspinlock.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_resume_np.c Do not leak THR_FLAGS_SUSPENDED from the previous suspend/resume 2016-05-05 10:20:22 +00:00
thr_rtld.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_rwlock.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_rwlockattr.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_self.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_sem.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_setprio.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_setschedparam.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_sig.c Do not leak THR_FLAGS_SUSPENDED from the previous suspend/resume 2016-05-05 10:20:22 +00:00
thr_single_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_sleepq.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_spec.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_spinlock.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_stack.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_suspend_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_switch_np.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_symbols.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00
thr_syscalls.c The fdatasync(2) call must be cancellation point. 2016-08-16 08:27:03 +00:00
thr_umtx.c Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
thr_umtx.h Add implementation of robust mutexes, hopefully close enough to the 2016-05-17 09:56:22 +00:00
thr_yield.c Use __FBSDID() for .c files from lib/libthr/thread. 2016-04-08 11:15:26 +00:00