freebsd-dev/lib/libpthread/thread
Daniel Eischen 24f33bca1c Add a simple work-around for deadlocking on recursive read locks
on a rwlock while there are writers waiting.  We normally favor
writers but when a reader already has at least one other read lock,
we favor the reader.  We don't track all the rwlocks owned by a
thread, nor all the threads that own a rwlock -- we just keep
a count of all the read locks owned by a thread.

PR:	24641
2004-01-08 15:37:09 +00:00
..
Makefile.inc Implement sigaltstack() as per-threaded. Current only scope process thread 2003-12-29 23:21:09 +00:00
thr_accept.c accept() returns a file descriptor when it succeeds which is very 2003-12-09 23:40:27 +00:00
thr_aio_suspend.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_atfork.c Add pthread_atfork() source code. Dan forgot to commit this file. 2003-11-05 03:42:10 +00:00
thr_attr_destroy.c
thr_attr_get_np.c
thr_attr_getdetachstate.c
thr_attr_getguardsize.c
thr_attr_getinheritsched.c
thr_attr_getschedparam.c
thr_attr_getschedpolicy.c
thr_attr_getscope.c
thr_attr_getstack.c
thr_attr_getstackaddr.c
thr_attr_getstacksize.c
thr_attr_init.c
thr_attr_setcreatesuspend_np.c pthread API should return error code in return value not in errno. 2003-09-25 13:53:49 +00:00
thr_attr_setdetachstate.c
thr_attr_setguardsize.c Respect POSIX specification, a value return from pthread_attr_getguardsize 2003-09-14 22:39:44 +00:00
thr_attr_setinheritsched.c Check invalid parameter and return EINVAL. 2003-09-14 22:28:13 +00:00
thr_attr_setschedparam.c
thr_attr_setschedpolicy.c
thr_attr_setscope.c If user is seting scope process flag, clear PTHREAD_SCOPE_SYSTEM bit 2003-09-14 22:32:28 +00:00
thr_attr_setstack.c
thr_attr_setstackaddr.c
thr_attr_setstacksize.c
thr_autoinit.c
thr_barrier.c Add code to support barrier synchronous object and implement 2003-09-04 14:06:43 +00:00
thr_barrierattr.c Add code to support barrier synchronous object and implement 2003-09-04 14:06:43 +00:00
thr_cancel.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_clean.c
thr_close.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_concurrency.c Allow the concurrency level to be reduced. 2003-08-30 12:09:16 +00:00
thr_cond.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_condattr_destroy.c
thr_condattr_init.c
thr_connect.c accept() returns a file descriptor when it succeeds which is very 2003-12-09 23:40:27 +00:00
thr_creat.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_create.c Add a simple work-around for deadlocking on recursive read locks 2004-01-08 15:37:09 +00:00
thr_detach.c
thr_equal.c
thr_exit.c 1. Allocating and freeing lock related resource in _thr_alloc and _thr_free 2003-09-14 22:52:16 +00:00
thr_fcntl.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_find_thread.c
thr_fork.c Don't declare the malloc lock; use the declaration provided in libc. 2003-11-05 18:18:45 +00:00
thr_fsync.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_getprio.c
thr_getschedparam.c
thr_info.c Print waitset correctly. 2003-09-22 00:40:23 +00:00
thr_init.c Remove surplus mmap() call for stack guard page in init_private, it is done 2003-11-29 14:10:02 +00:00
thr_join.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_kern.c Replace a comment with more accurated one, memory heap is now protected by 2003-12-19 13:24:54 +00:00
thr_kill.c
thr_main_np.c
thr_mattr_init.c
thr_mattr_kind_np.c
thr_msync.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_multi_np.c
thr_mutex_prioceiling.c
thr_mutex_protocol.c
thr_mutex.c More reliably check timeout for pthread_mutex_timedlock. 2003-12-09 00:52:28 +00:00
thr_mutexattr_destroy.c
thr_nanosleep.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_once.c Original pthread_once code has memory leak if pthread_once_t is used in 2003-09-09 22:38:12 +00:00
thr_open.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_pause.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_poll.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_printf.c
thr_priority_queue.c
thr_private.h Add a simple work-around for deadlocking on recursive read locks 2004-01-08 15:37:09 +00:00
thr_pselect.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_pspinlock.c Libpthread uses the convention that all of its (non-weak) symbols 2003-11-04 19:56:12 +00:00
thr_raise.c
thr_read.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_readv.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_resume_np.c
thr_rtld.c style(9) 2003-11-05 18:19:24 +00:00
thr_rwlock.c Add a simple work-around for deadlocking on recursive read locks 2004-01-08 15:37:09 +00:00
thr_rwlockattr.c
thr_select.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_self.c
thr_sem.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_seterrno.c
thr_setprio.c
thr_setschedparam.c
thr_sig.c Kernel now supports per-thread sigaltstack, follow the change to 2004-01-03 02:40:27 +00:00
thr_sigaction.c If syscall failed, restore old sigaction and return error to thread. 2003-09-25 06:23:40 +00:00
thr_sigaltstack.c Return error code in errno, not in return value. 2004-01-02 00:38:42 +00:00
thr_sigmask.c pthread api should return error code in return value, not in errno. 2003-09-18 12:19:28 +00:00
thr_sigpending.c
thr_sigprocmask.c
thr_sigsuspend.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_sigwait.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_single_np.c
thr_sleep.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_spec.c
thr_spinlock.c Use mutex instead of low level thread lock to implement spinlock, this 2003-12-09 02:37:40 +00:00
thr_stack.c Respect POSIX specification, a value return from pthread_attr_getguardsize 2003-09-14 22:39:44 +00:00
thr_suspend_np.c
thr_switch_np.c
thr_system.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_tcdrain.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_vfork.c
thr_wait4.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_wait.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_waitpid.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_write.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_writev.c Rename _thr_enter_cancellation_point to _thr_cancel_enter, rename 2003-12-09 02:20:56 +00:00
thr_yield.c