NetBSD/lib/libpthread
rmind 2e17c78b61 pthread__mutex_lock_slow: fix the handling of a potential race with the
non-interlocked CAS in the fast unlock path -- it is unsafe to test for
the waiters-bit while the owner thread is running, we have to spin for
the owner or its state change to be sure about the presence of the bit.
Split off the logic into the pthread__mutex_setwaiters() routine.

This is a partial fix to the named lockup problem (also see PR/44756).
It seems there is another race which can be reproduced on faster CPUs.
2014-02-03 15:51:01 +00:00
..
arch Use the thumb1 versions of sev/wfe for thumb && armv6+. 2013-08-15 22:37:29 +00:00
affinity.3
Makefile Use MACHINE_CPU for m68k. Use similar logic for both tests. 2013-10-09 22:33:41 +00:00
pthread_attr_get_np.3
pthread_attr_getdetachstate.3
pthread_attr_getguardsize.3
pthread_attr_getinheritsched.3 s/inherited/inherit/ 2013-05-10 21:06:14 +00:00
pthread_attr_getname_np.3
pthread_attr_getschedparam.3
pthread_attr_getscope.3
pthread_attr_getstack.3
pthread_attr_setcreatesuspend_np.3
pthread_attr.3 Each get function "has" a set counterpart, it doesn't "contain" it. 2012-11-10 23:12:36 +00:00
pthread_attr.c
pthread_barrier.3
pthread_barrier.c
pthread_barrierattr.3
pthread_cancel.3
pthread_cancelstub.c - Allow libpthread to be dlopened again, by providing libc stubs to libpthread. 2013-03-21 16:49:11 +00:00
pthread_cleanup_push.3
pthread_compat.c remove compatibility code for handling CLOCK_MONOTONIC and handle it in the 2014-01-31 20:44:01 +00:00
pthread_cond.3 Use 2012-11-12 23:11:05 +00:00
pthread_cond.c remove compatibility code for handling CLOCK_MONOTONIC and handle it in the 2014-01-31 20:44:01 +00:00
pthread_condattr.3 Fix pasto. 2012-11-03 09:20:36 +00:00
pthread_create.3
pthread_curcpu_np.3
pthread_detach.3
pthread_equal.3
pthread_exit.3
pthread_getname_np.3
pthread_getspecific.3
pthread_int.h - Allow libpthread to be dlopened again, by providing libc stubs to libpthread. 2013-03-21 16:49:11 +00:00
pthread_join.3
pthread_key_create.3
pthread_kill.3
pthread_lock.c
pthread_misc.c - Allow libpthread to be dlopened again, by providing libc stubs to libpthread. 2013-03-21 16:49:11 +00:00
pthread_mutex.3 Use 2012-11-12 23:11:05 +00:00
pthread_mutex.c pthread__mutex_lock_slow: fix the handling of a potential race with the 2014-02-03 15:51:01 +00:00
pthread_mutexattr.3
pthread_once.3 Refer to init_routine in the DESCRIPTION section with .Fa instead of .Fn 2012-11-12 23:28:11 +00:00
pthread_once.c - Allow libpthread to be dlopened again, by providing libc stubs to libpthread. 2013-03-21 16:49:11 +00:00
pthread_queue.h
pthread_rwlock.3 Mark up (unsupported) PTHREAD_PROCESS_SHARED with .Dv macro. 2012-11-12 23:34:50 +00:00
pthread_rwlock.c - Allow libpthread to be dlopened again, by providing libc stubs to libpthread. 2013-03-21 16:49:11 +00:00
pthread_rwlockattr.3
pthread_schedparam.3
pthread_self.3
pthread_sigmask.3
pthread_specific.c - Allow libpthread to be dlopened again, by providing libc stubs to libpthread. 2013-03-21 16:49:11 +00:00
pthread_spin.3
pthread_spin.c Add a pthread__smt_wake and add support for it on arm along with 2012-08-16 04:49:47 +00:00
pthread_suspend_np.3
pthread_testcancel.3 Use Mt for email addresses. 2013-07-20 21:39:55 +00:00
pthread_tsd.c - Allow libpthread to be dlopened again, by providing libc stubs to libpthread. 2013-03-21 16:49:11 +00:00
pthread_types.h
pthread.3
pthread.c remove compatibility code for handling CLOCK_MONOTONIC and handle it in the 2014-01-31 20:44:01 +00:00
pthread.h add pthread_condattr_setclock(3) 2012-11-03 03:10:50 +00:00
README
res_state.c
sem.c
shlib_version bump for pthread_cond_setclock 2013-04-03 15:45:21 +00:00
TODO

$NetBSD: README,v 1.6 2009/04/16 18:37:30 wiz Exp $

When making changes to libpthread, please ensure that libpthread_dbg
still compiles.

Due to limitations in the current pthread implementation, makecontext(3)
and sigaltstack(2) should not be used in programs which link against
libpthread (whether threads are used or not). This has been noted in the
makecontext(3), sigaltstack(2), and pthread(3) man pages.