freebsd-nq/lib/libthr/thread
Mike Makonnen 98a11db62d When suspending a thread if the timeout was very short or
the system call got interrupted and the absolute timeout is
converted to a relative timeout, it may happen that we get a
negative number. In such a case, simply set the timeout to
zero so that if the event that the thread wants to wait for has
happened it can still return successfully, but if it hasn't
happened then the thread doesn't suspend indefinitely. This should
fix certain applications (including mozilla) that seem to hang
indefinitely sometimes.

Noticed and debugged by: Morten Johansen <root@morten-johansen.net>
2004-01-29 09:44:36 +00:00
..
Makefile.inc o Add a wrapper around sigaction(2), so we can insert our own wrapper 2003-12-09 11:04:36 +00:00
thr_attr.c
thr_autoinit.c Make WARNS2 clean. The fixes mostly included: 2003-05-23 09:48:20 +00:00
thr_cancel.c Change all instances of THR_LOCK/UNLOCK, etc to UMTX_*. 2003-07-06 10:18:48 +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 Fix the wrapper function around signals so that a signal handling 2003-12-09 11:12:11 +00:00
thr_condattr_destroy.c
thr_condattr_init.c
thr_create.c Preparations to make libthr work in multi-threaded fork()ing applications. 2003-12-26 08:16:17 +00:00
thr_detach.c Change all instances of THR_LOCK/UNLOCK, etc to UMTX_*. 2003-07-06 10:18:48 +00:00
thr_equal.c
thr_exit.c Implement reference counting of read-write locks. This uses 2004-01-19 14:51:45 +00:00
thr_find_thread.c Part of the last patch. 2003-05-25 08:35:37 +00:00
thr_gc.c Change all instances of THR_LOCK/UNLOCK, etc to UMTX_*. 2003-07-06 10:18:48 +00:00
thr_getprio.c
thr_getschedparam.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 Preparations to make libthr work in multi-threaded fork()ing applications. 2003-12-26 08:16:17 +00:00
thr_join.c Change all instances of THR_LOCK/UNLOCK, etc to UMTX_*. 2003-07-06 10:18:48 +00:00
thr_kern.c When suspending a thread if the timeout was very short or 2004-01-29 09:44:36 +00:00
thr_main_np.c
thr_mattr_init.c
thr_mattr_kind_np.c
thr_multi_np.c
thr_mutex_prioceiling.c - Reenable setschedparam and the prioceiling code now that the mutex code 2003-04-01 22:40:29 +00:00
thr_mutex_protocol.c
thr_mutex.c Refactor _pthread_mutex_init 2004-01-19 15:00:57 +00:00
thr_mutexattr_destroy.c
thr_once.c
thr_printf.c _thread_printf() is only used for debugging or in cases where something's 2003-06-09 17:58:15 +00:00
thr_private.h o Implement the pthread_spin_* functions in libthr. 2004-01-22 15:31:56 +00:00
thr_resume_np.c Doh! Lock the thread passed in by the caller, not the current thread. 2003-12-12 09:51:39 +00:00
thr_rwlock.c Implement reference counting of read-write locks. This uses 2004-01-19 14:51:45 +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 - Define curthread as _get_curthread() and remove all direct calls to 2003-04-02 03:05:39 +00:00
thr_seterrno.c
thr_setprio.c
thr_setschedparam.c Comment out most of pthread_setschedparam. Pthread priorities didn't 2003-12-15 12:31:46 +00:00
thr_sig.c Fix the wrapper function around signals so that a signal handling 2003-12-09 11:12:11 +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 o Implement the pthread_spin_* functions in libthr. 2004-01-22 15:31:56 +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 o Add a wrapper around sigaction(2), so we can insert our own wrapper 2003-12-09 11:04:36 +00:00
thr_yield.c