When wakeup(9) is going to notify swapper, assert that wait channel is not
equal to &proc0. It shall be not, since proc0 stack is not swappable, and kick_proc0() is wakeup(&proc0). Reviewed by: jhb Approved by: re (kensmith)
This commit is contained in:
parent
eddfbb763d
commit
c8167830f9
@ -347,8 +347,11 @@ wakeup(void *ident)
|
||||
sleepq_lock(ident);
|
||||
wakeup_swapper = sleepq_broadcast(ident, SLEEPQ_SLEEP, 0, 0);
|
||||
sleepq_release(ident);
|
||||
if (wakeup_swapper)
|
||||
if (wakeup_swapper) {
|
||||
KASSERT(ident != &proc0,
|
||||
("wakeup and wakeup_swapper and proc0"));
|
||||
kick_proc0();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user