[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS: cvs.openbsd.org: src



CVSROOT:	/cvs
Module name:	src
Changes by:	guenther_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org	2008/10/02 22:22:37

Modified files:
	sys/sys        : proc.h 
	sys/kern       : kern_sig.c 
	lib/librthread : rthread.h rthread_sig.c 

Log message:
Make sigwait() work correctly.  In particular, it'll work when the
signal is already pending in the calling thread or the main thread
and there's no longer a race condition where the signal could be
diverted but sigwait() would still block.  There were some off-by-one
errors too.

(The checking of the main thread's pending list is just until a
pending list for the process can be added to struct process.  For
now, such signals end up as pending on the main thread.)

oks tedu@ and art@