freebsd-dev/lib/libpthread/thread
Peter Edwards 977e36e94a Clean bound and non-bound pthread structures consistently before
they become candidates for reuse.  Without this fix, some of the
state from a thread structure's previous incarnation could interfere
with its new one. Specifically, a non-bound thread started as
"suspended" (see pthread_attr_setcreatesuspend_np()) might not get
scheduled at all when resumed, as the "active" flag would be set
spuriously.

Reviewed by: deischen@, davidxu@
MFC after: 1 week
2006-12-18 17:08:07 +00:00
..
Makefile.inc Include files thr_condattr_pshared.c and thr_mattr_pshare.c. 2005-10-24 05:48:32 +00:00
thr_accept.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_aio_suspend.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_atfork.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_destroy.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_get_np.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_getdetachstate.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_getguardsize.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_getinheritsched.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_getschedparam.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_getschedpolicy.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_getscope.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_getstack.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_getstackaddr.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_getstacksize.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_init.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setcreatesuspend_np.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setdetachstate.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setguardsize.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setinheritsched.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setschedparam.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setschedpolicy.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setscope.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setstack.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setstackaddr.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_attr_setstacksize.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_autoinit.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_barrier.c Use the correct type for and argument. Recent changes to namespace.h 2006-03-28 21:07:59 +00:00
thr_barrierattr.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_cancel.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_clean.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_close.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_concurrency.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_cond.c Unexpand TAILQ_FIRST(foo) == NULL to TAILQ_EMPTY. 2006-04-13 03:09:34 +00:00
thr_condattr_destroy.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_condattr_init.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_condattr_pshared.c Add function pthread_condattr_setpshared and pthread_condattr_getpshared. 2005-10-24 05:35:14 +00:00
thr_connect.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_creat.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_create.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_detach.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_equal.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_execve.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_exit.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_fcntl.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_find_thread.c 1. Move thread list flags into new separate member, and atomically 2004-10-23 23:28:36 +00:00
thr_fork.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_fsync.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_getprio.c Bring libpthread up to WARNS level 2. 2006-03-29 05:38:19 +00:00
thr_getschedparam.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_info.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_init.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_join.c If a thread was detached, return EINVAL instead, the error code 2006-11-28 11:05:31 +00:00
thr_kern.c Clean bound and non-bound pthread structures consistently before 2006-12-18 17:08:07 +00:00
thr_kill.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_main_np.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_mattr_init.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_mattr_kind_np.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_mattr_pshared.c Add functions pthread_mutexattr_setpshared and pthread_mutexattr_getpshared. 2005-10-24 05:35:40 +00:00
thr_msync.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_multi_np.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_mutex_prioceiling.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_mutex_protocol.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_mutex.c Unexpand TAILQ_FIRST(foo) == NULL to TAILQ_EMPTY. 2006-04-13 03:09:34 +00:00
thr_mutexattr_destroy.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_nanosleep.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_once.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_open.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_pause.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_poll.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_printf.c style cleanup: Remove duplicate $FreeBSD$ tags. 2004-02-10 20:42:33 +00:00
thr_priority_queue.c s/TMDF_DONOTRUNUSER/TMDF_SUSPEND/g 2004-08-03 02:23:06 +00:00
thr_private.h o Remove a cruft prevented libpthread sigaction(2) wrapper to 2006-06-09 14:23:40 +00:00
thr_pselect.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_pspinlock.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_raise.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_read.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_readv.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_resume_np.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_rtld.c Don't attempt to initialize the rtld lock if it can't be malloc()'d. 2005-08-29 13:47:42 +00:00
thr_rwlock.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_rwlockattr.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_select.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_self.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_sem.c Fix prototype mismatch and use of un-namespaced pthread functions. 2006-03-28 21:50:12 +00:00
thr_seterrno.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_setprio.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_setschedparam.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_sig.c o Remove a cruft prevented libpthread sigaction(2) wrapper to 2006-06-09 14:23:40 +00:00
thr_sigaction.c o Remove a cruft prevented libpthread sigaction(2) wrapper to 2006-06-09 14:23:40 +00:00
thr_sigaltstack.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_sigmask.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_sigpending.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_sigprocmask.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_sigsuspend.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_sigwait.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_single_np.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_sleep.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_spec.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_spinlock.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_stack.c Increase the default stacksizes: 2005-02-13 18:38:06 +00:00
thr_suspend_np.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_switch_np.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_symbols.c Export offsets of thread signal pending set and signal mask for debugger. 2006-05-17 04:59:59 +00:00
thr_system.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_tcdrain.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_vfork.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_wait4.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_wait.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_waitpid.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_write.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_writev.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00
thr_yield.c Add compatibility symbol maps. libpthread (.so.1 and .so.2) 2006-03-13 00:59:51 +00:00