summaryrefslogtreecommitdiff
path: root/sys/kern/subr_prf.c
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2007-05-08 11:16:32 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2007-05-08 11:16:32 +0000
commit4f657a2ee6148cfc1f2d3d12f424f7d3ebea8ff5 (patch)
tree66215566c5becd1c610f1780110c6cd044c8cd2a /sys/kern/subr_prf.c
parent12d317cd9a85d467c3fe66ff1b061421fc738441 (diff)
First step in making the SCHED_LOCK not recursive.
- Defer the sending of SIGCHLD and waking the parent when a process goes to sleep. We set a flag in the process "P_STOPPED" and schedule a timeout that checks all processes for this flag and sends SIGCHLD and wakes the parent on those processes that have this flag set. - Delay the waking of the parent in psignal on SIGCONT until we've released the SCHED_LOCK at the end. - In issignal, check for P_SINTR as a way to see we were called from the tsleep path with SCHED_LOCK locked and don't skip locking in that case. (This is slightly ugly, but it works until we have some better way). miod@ ok (after finding and fixing an MD bug on sgi)
Diffstat (limited to 'sys/kern/subr_prf.c')
0 files changed, 0 insertions, 0 deletions