freebsd-skq/lib/libthr/thread
Marcel Moolenaar cd28f17da2 Change the thread ID (thr_id_t) used for 1:1 threading from being a
pointer to the corresponding struct thread to the thread ID (lwpid_t)
assigned to that thread. The primary reason for this change is that
libthr now internally uses the same ID as the debugger and the kernel
when referencing to a kernel thread. This allows us to implement the
support for debugging without additional translations and/or mappings.

To preserve the ABI, the 1:1 threading syscalls, including the umtx
locking API have not been changed to work on a lwpid_t. Instead the
1:1 threading syscalls operate on long and the umtx locking API has
not been changed except for the contested bit. Previously this was
the least significant bit. Now it's the most significant bit. Since
the contested bit should not be tested by userland, this change is
not expected to be visible. Just to be sure, UMTX_CONTESTED has been
removed from <sys/umtx.h>.

Reviewed by: mtm@
ABI preservation tested on: i386, ia64
2004-07-02 00:40:07 +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 Change the thread ID (thr_id_t) used for 1:1 threading from being a 2004-07-02 00:40:07 +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 Make libthr async-signal-safe without costly signal masking. The guidlines I 2004-05-20 12:06:16 +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 Make libthr async-signal-safe without costly signal masking. The guidlines I 2004-05-20 12:06:16 +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 Change the thread ID (thr_id_t) used for 1:1 threading from being a 2004-07-02 00:40:07 +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 Change the thread ID (thr_id_t) used for 1:1 threading from being a 2004-07-02 00:40:07 +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 There are consumers of rwlocks, inluding our own libc, that depend on 2004-02-18 15:30:10 +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 Make libthr async-signal-safe without costly signal masking. The guidlines I 2004-05-20 12:06:16 +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 pthread_atfork in libthr. This is mostly from deichen's 2004-06-27 10:01:35 +00:00
thr_yield.c