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
Makefile Use MACHINE_CPU for m68k. Use similar logic for both tests. 2013-10-09 22:33:41 +00:00
README
TODO
affinity.3
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
pthread_attr.3
pthread_attr.c
pthread_attr_get_np.3
pthread_attr_getdetachstate.3
pthread_attr_getguardsize.3
pthread_attr_getinheritsched.3
pthread_attr_getname_np.3
pthread_attr_getschedparam.3
pthread_attr_getscope.3
pthread_attr_getstack.3
pthread_attr_setcreatesuspend_np.3
pthread_barrier.3
pthread_barrier.c
pthread_barrierattr.3
pthread_cancel.3
pthread_cancelstub.c
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
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
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
pthread_join.3
pthread_key_create.3
pthread_kill.3
pthread_lock.c
pthread_misc.c
pthread_mutex.3
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
pthread_once.c
pthread_queue.h
pthread_rwlock.3
pthread_rwlock.c
pthread_rwlockattr.3
pthread_schedparam.3
pthread_self.3
pthread_sigmask.3
pthread_specific.c
pthread_spin.3
pthread_spin.c
pthread_suspend_np.3
pthread_testcancel.3
pthread_tsd.c
pthread_types.h
res_state.c
sem.c
shlib_version

README

$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.