freebsd-nq/lib/libthr/thread
Mike Makonnen 5dbd7addb0 1. Now that it's a thread's state is changed from within the kernel, where
no userland locks are heald, the dead thread lock can no longer protect
   access to it. Therefore, instead of using an if (!dead)...else clause
   after walking the active threads list test the thread pointer before
   deciding not to walk the dead threads list. If the thread pointer is null
   it means it was not found in the active threads list and the dead threads
   list should be checked.

2. Do not free the stack of a thread that is not marked dead. This is the
   2nd and final part of eliminating the race to free a thread's stack.

MFC after: 3 days
2004-10-13 11:42:20 +00:00
..
Makefile.inc Implement pthread_atfork in libthr. This is mostly from deichen's 2004-06-27 10:01:35 +00:00
thr_atfork.c Implement pthread_atfork in libthr. This is mostly from deichen's 2004-06-27 10:01:35 +00:00
thr_attr.c Move the weak references to the top of the file to conform 2004-02-18 14:56:20 +00:00
thr_autoinit.c Make WARNS2 clean. The fixes mostly included: 2003-05-23 09:48:20 +00:00
thr_barrier.c Make libthr async-signal-safe without costly signal masking. The guidlines I 2004-05-20 12:06:16 +00:00
thr_barrierattr.c Implement PThreads barriers and barrier attributes. 2004-02-19 13:51:52 +00:00
thr_cancel.c Make libthr async-signal-safe without costly signal masking. The guidlines I 2004-05-20 12:06:16 +00:00
thr_clean.c - Define curthread as _get_curthread() and remove all direct calls to 2003-04-02 03:05:39 +00:00
thr_concurrency.c Add stub implementations of pthread_[gs]etconcurrency to libc_r and 2003-04-20 01:53:13 +00:00
thr_cond.c Change the thread ID (thr_id_t) used for 1:1 threading from being a 2004-07-02 00:40:07 +00:00
thr_condattr_destroy.c
thr_condattr_init.c
thr_create.c Adjust code to support AMD64, on AMD64, thread needs to set fsbase by 2004-08-19 23:49:04 +00:00
thr_detach.c Make libthr async-signal-safe without costly signal masking. The guidlines I 2004-05-20 12:06:16 +00:00
thr_equal.c
thr_exit.c 1. Now that it's a thread's state is changed from within the kernel, where 2004-10-13 11:42:20 +00:00
thr_find_thread.c o Initialize a local variable before referencing it. This was not 2004-03-26 14:45:35 +00:00
thr_getprio.c
thr_info.c Start locking up the active and dead threads lists. The active threads 2003-05-25 08:31:33 +00:00
thr_init.c Implement pthread_atfork in libthr. This is mostly from deichen's 2004-06-27 10:01:35 +00:00
thr_join.c 1. Now that it's a thread's state is changed from within the kernel, where 2004-10-13 11:42:20 +00:00
thr_kern.c Stop using signals for synchronizing threads. The performance penalty 2004-03-27 14:39:21 +00:00
thr_main_np.c
thr_mattr_init.c
thr_mattr_kind_np.c o Also check that the mutex type is not less than the minimum allowable value. 2004-03-29 13:57:55 +00:00
thr_multi_np.c
thr_mutex_prioceiling.c o Style 2004-02-18 15:22:52 +00:00
thr_mutex_protocol.c o Style 2004-02-18 15:22:52 +00:00
thr_mutex.c Remove vestiges of libthr's signal mangling past. This fixes that last 2004-09-22 18:51:16 +00:00
thr_mutexattr_destroy.c
thr_once.c
thr_printf.c style cleanup: Remove duplicate $FreeBSD$ tags. 2004-02-10 20:42:33 +00:00
thr_private.h Implement cancellation points in libc interfaces, as specified by POSIX. 2004-09-16 13:55:46 +00:00
thr_resume_np.c Make libthr async-signal-safe without costly signal masking. The guidlines I 2004-05-20 12:06:16 +00:00
thr_rwlock.c o Assertions to catch that stuff that shouldn't happen is not happening. 2004-07-30 17:13:00 +00:00
thr_rwlockattr.c
thr_self.c - Define curthread as _get_curthread() and remove all direct calls to 2003-04-02 03:05:39 +00:00
thr_sem.c Remove the band-aid (#include <time.h>). 2004-02-03 22:30:01 +00:00
thr_seterrno.c
thr_setprio.c
thr_setschedparam.c o Assertions to catch that stuff that shouldn't happen is not happening. 2004-07-30 17:13:00 +00:00
thr_sig.c Make libthr async-signal-safe without costly signal masking. The guidlines I 2004-05-20 12:06:16 +00:00
thr_spec.c - Define curthread as _get_curthread() and remove all direct calls to 2003-04-02 03:05:39 +00:00
thr_spinlock.c Unconditionaly initialize any spin lock passed to pthread_spin_init(). While 2004-04-24 09:38:41 +00:00
thr_stack.c Decouple the thread stack [de]allocating functions from the 'dead threads list' 2003-05-26 00:37:07 +00:00
thr_subr.c Ugghh, cvs add the functions necessary to lock the global signal action 2003-12-09 11:06:55 +00:00
thr_suspend_np.c Return ENOTSUP instead of -1. 2004-01-15 16:09:58 +00:00
thr_syscalls.c Implement cancellation points in libc interfaces, as specified by POSIX. 2004-09-16 13:55:46 +00:00
thr_yield.c