freebsd-dev/lib
David Xu 3d10572d1a As comments in _mutex_lock_backout state, only current thread
can clear the pointer to mutex, not the thread doing mutex
handoff. Because _mutex_lock_backout does not hold scheduler
lock while testing THR_FLAGS_IN_SYNCQ and then reading mutex
pointer, it is possible mutex owner begin to unlock and
handoff the mutex to the current thread, and mutex pointer
will be cleared to NULL before current thread reading it, so
current thread will end up with deferencing a NULL pointer,
Fix the race by making mutex waiters to clear their mutex pointers.
While I am here, also save inherited priority in mutex for
PTHREAD_PRIO_INERIT mutex in mutex_trylock_common just like what
we did in mutex_lock_common.
2003-09-24 12:52:57 +00:00
..
compat
csu
libalias Grrr...add the Skinny alias code forgotten in the last commit. 2003-09-23 07:42:33 +00:00
libatm
libbind
libbz2
libc From OpenBSD: 2003-09-15 23:38:06 +00:00
libc_r Get rid of duplicates. 2003-09-14 13:41:59 +00:00
libcalendar
libcam
libcom_err
libcompat
libcrypt
libdevinfo
libdevstat
libdisk
libedit
libexpat
libfetch
libform
libftpio
libgeom
libio
libipsec mdoc(7): Properly mark C headers. 2003-09-10 19:24:35 +00:00
libipx
libisc
libkse As comments in _mutex_lock_backout state, only current thread 2003-09-24 12:52:57 +00:00
libkvm
libmd
libmenu
libmilter
libmp
libncp
libncurses
libnetgraph
libopie
libpam Ignore ECHILD from waitpid(2) (our child may have been reaped by the 2003-09-19 11:33:03 +00:00
libpanel
libpcap
libpthread As comments in _mutex_lock_backout state, only current thread 2003-09-24 12:52:57 +00:00
libradius
librpcsvc
libsbuf
libsm
libsmb
libsmdb
libsmutil
libstand mdoc(7): Properly mark C headers. 2003-09-10 19:24:35 +00:00
libtacplus
libtelnet
libthr
libufs
libugidfw
libusbhid
libutil mdoc(7): Properly mark C headers. 2003-09-10 19:24:35 +00:00
libvgl
libwrap
libxpg4
liby
libypclnt
libz
msun
ncurses
Makefile
Makefile.inc