NetBSD/lib/libpthread
chuck f4e3e7fe3b sigtimedwait: if we collect a queued signal via pt_siglist, do not
forget to clear it out of pt_siglist, otherwise we will keep getting
it over and over again.   fixes a problem introduced in rev 1.43.

problem observed with mysqld where sending it a SIGHUP after it has
set an alarm (e.g. due to some package like rt3 using it) caused the
signal handler thread to go into a tight loop (collecting a SIGALRM
[via sigwait() in mysqld.cc] that would not go away due to the above
issue).   mysqld appears to get a SIGHUP when /etc/rc exits, so it
can go into this tight loop after a reboot (but not if you restart
it by hand).   the bad sequence is:
	/etc/rc runs:
		- starts mysqld
		- starts web server with rt3 fastcgi starts
		- fastcgi/rt3 talks to mysqld (causing it to set an alarm)
		- /etc/rc exits, SIGHUP goes to mysqld
		- mysqld catches SIGHUP, signal handler thread gets
			stuck in loop (database continues to operate, slowly).

you can also trigger the problem by sending mysqld a SIGHUP by hand after
you've caused it to set an alarm by connecting to it.
2006-06-12 16:45:14 +00:00
..
arch Instead of using hard-coded values for various registers, get them from the 2006-03-29 22:55:15 +00:00
debuglog.c Include <stdlib.h> for exit() prototype. 2003-08-20 09:50:16 +00:00
Makefile include libc after our own files to fix ports that have 2 assym.h's. One 2005-12-13 22:07:20 +00:00
pthread_alarms.c Coverity CID 882: Avoid NULL deref. 2006-03-19 23:01:03 +00:00
pthread_attr_setcreatesuspend_np.3 Various fixes. 2003-11-12 11:58:34 +00:00
pthread_attr.3 Add restrict qualifiers to <pthread.h> function arguments. 2005-03-21 17:55:07 +00:00
pthread_attr.c pthread_attr_getschedpolicy() wasn't setting the return buffer at all. 2005-09-21 15:27:14 +00:00
pthread_barrier_destroy.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_barrier_init.3 Fix various spelling errors. 2005-06-17 18:07:06 +00:00
pthread_barrier_wait.3 New sentence, new line. 2005-06-17 18:23:52 +00:00
pthread_barrier.c add __RCSID() 2003-03-08 08:03:34 +00:00
pthread_barrierattr.3 Fix various spelling errors. 2005-06-17 18:07:06 +00:00
pthread_cancel.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_cancelstub.c XXX: Work around libpthread's "intimate" connection with libc. 2005-09-13 02:45:38 +00:00
pthread_cleanup_push.3 .Pp fixes. 2003-07-04 08:42:20 +00:00
pthread_cond_broadcast.3 Fix various spelling errors. 2005-06-17 18:07:06 +00:00
pthread_cond_destroy.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_cond_init.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_cond_wait.3 Add restrict qualifiers to <pthread.h> function arguments. 2005-03-21 17:55:07 +00:00
pthread_cond.c gettimeofday();TIMEVAL_TO_TIMESPEC(); is exactly equivalent to 2005-01-06 17:33:36 +00:00
pthread_condattr.3 Fix various spelling errors. 2005-06-17 18:07:06 +00:00
pthread_create.3 Add restrict qualifiers to <pthread.h> function arguments. 2005-03-21 17:55:07 +00:00
pthread_debug.c add libpthread part of concurrency support for SA on MP systems 2004-03-14 01:19:41 +00:00
pthread_debug.h add libpthread part of concurrency support for SA on MP systems 2004-03-14 01:19:41 +00:00
pthread_detach.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_equal.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_exit.3 New sentence, new line. 2003-07-04 10:19:42 +00:00
pthread_getspecific.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_int.h starting the pthread library (ie. calling pthread__start()) before 2005-10-19 02:15:03 +00:00
pthread_join.3 Mark up a defined value. 2003-07-04 11:47:03 +00:00
pthread_key_create.3 Mark up a defined value. 2003-07-04 11:47:03 +00:00
pthread_key_delete.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_kill.3 sigwait(2), not (3). 2003-10-30 12:57:11 +00:00
pthread_lock.c Lint warning police -- don't use `//' for comments in C code. 2005-03-17 17:23:21 +00:00
pthread_mutex_destroy.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_mutex_init.3 Add restrict qualifiers to <pthread.h> function arguments. 2005-03-21 17:55:07 +00:00
pthread_mutex_lock.3 Drop trailing whitespace. 2003-07-04 08:36:06 +00:00
pthread_mutex_unlock.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_mutex.c starting the pthread library (ie. calling pthread__start()) before 2005-10-19 02:15:03 +00:00
pthread_mutexattr.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_once.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_queue.h de-lint 2003-01-18 18:40:52 +00:00
pthread_run.c Replace the even-odd test for incrementing unblockgen with a simple 2005-01-06 17:40:22 +00:00
pthread_rwlock_destroy.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_rwlock_init.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_rwlock_rdlock.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_rwlock_unlock.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_rwlock_wrlock.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_rwlock.c starting the pthread library (ie. calling pthread__start()) before 2005-10-19 02:15:03 +00:00
pthread_rwlockattr.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_sa.c Lint warning police -- don't use `//' for comments in C code. 2005-03-17 17:23:21 +00:00
pthread_schedparam.3 Add restrict qualifiers to <pthread.h> function arguments. 2005-03-21 17:55:07 +00:00
pthread_self.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_setspecific.3 $NetBSD$, not $Header$. 2003-06-08 06:44:28 +00:00
pthread_sig.c sigtimedwait: if we collect a queued signal via pt_siglist, do not 2006-06-12 16:45:14 +00:00
pthread_sigmask.3 pthread_sigmask(): Add restrict qualifier to set, oset args. 2006-01-07 20:10:29 +00:00
pthread_sleep.c Avoid passing along a timespec with a negative number of seconds if 2005-04-19 16:38:57 +00:00
pthread_specific.c Split out pthread_{set,get}specific() into a separate file and arrange 2003-08-13 18:52:01 +00:00
pthread_spin_destroy.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_spin_init.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_spin_lock.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_spin_unlock.3 New sentence, new line. 2005-06-17 18:26:53 +00:00
pthread_stack.c - do PTHREAD_MLOCK_KLUDGE in pthread__stackid_setup, rather than callers, 2006-02-12 11:41:53 +00:00
pthread_suspend_np.3 Various fixes. 2003-11-12 11:58:34 +00:00
pthread_testcancel.3 Userland portion of fsync_range(2), written by Bill Studenmund, and 2003-11-18 00:56:56 +00:00
pthread_tsd.c available, not avaliable. From miod@openbsd. 2003-09-29 09:50:21 +00:00
pthread_types.h Don't include <machine/lock.h> anymore; instead, we now get 2003-09-26 22:48:23 +00:00
pthread.3 Document PTHREAD_CONCURRENCY, ack by wiz@. 2005-02-01 11:38:27 +00:00
pthread.c There is no point in using the internal sigprocmask() to initialize 2006-04-24 18:39:36 +00:00
pthread.h Add restrict qualifiers to <pthread.h> function arguments. 2005-03-21 17:55:07 +00:00
res_state.c simplify and make more efficient (YAMAMOTO Takashi) 2004-06-03 19:32:27 +00:00
sched_yield.3 Grammar improvements. 2004-12-15 16:37:58 +00:00
sched.c Change the sched_*() functions to return -1 and set errno to ENOSYS 2005-10-09 11:17:28 +00:00
sem.c starting the pthread library (ie. calling pthread__start()) before 2005-10-19 02:15:03 +00:00
shlib_version Interpose cancellation points in pollts() and pselect(), bringing us 2005-03-18 11:23:44 +00:00
TODO Update list of items. 2003-11-25 22:44:16 +00:00