Subject: CVS commit: src/sys/kern
To: None <source-changes@netbsd.org>
From: Nathan J Williams <nathanw@netbsd.org>
List: source-changes
Date: 05/28/2003 22:17:21
Module Name:	src
Committed By:	nathanw
Date:		Wed May 28 22:17:21 UTC 2003

Modified Files:
	src/sys/kern: kern_sa.c

Log Message:
Put the tsleep() call in sa_yield() inside a while loop that tests
whether there is anything to do - almost as if it were a predicate
test outside of a condition wait. This prevents returning to userland
when tsleep() has woken up spuriously, such as from a signal that was
caught and then removed by a tracing process.

Kills off some double-stops in GDB due to signals as well as a couple
of pthread__idle assertions when detaching from a process.

XXX stopping inside tsleep, via CURSIG(), is evil.


To generate a diff of this commit:
cvs rdiff -r1.15 -r1.16 src/sys/kern/kern_sa.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.