diff options
author | gallatin <gallatin@FreeBSD.org> | 2002-07-17 02:23:44 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2002-07-17 02:23:44 +0000 |
commit | b6368d35106f2181ca1d6536cbb3e1fab2a5b3c0 (patch) | |
tree | 5924547463c69dff00bd745cf367d4a708e9a16e /sys/kern/kern_condvar.c | |
parent | 3abb526f86a27b005f352fb91f605228876fa8f7 (diff) | |
download | FreeBSD-src-b6368d35106f2181ca1d6536cbb3e1fab2a5b3c0.zip FreeBSD-src-b6368d35106f2181ca1d6536cbb3e1fab2a5b3c0.tar.gz |
Allow alphas to do crashdumps: Refuse to run anything in choosethread()
after a panic which is not an interrupt thread, or the thread which
caused the panic. Also, remove panicstr checks from msleep() and from
cv_wait() in order to allow threads to go to sleep and yeild the cpu
to the panicing thread, or to an interrupt thread which might
be doing the crashdump.
Reviewed by: jhb (and it was mostly his idea too)
Diffstat (limited to 'sys/kern/kern_condvar.c')
-rw-r--r-- | sys/kern/kern_condvar.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/kern_condvar.c b/sys/kern/kern_condvar.c index 9771077..e2bbbb4 100644 --- a/sys/kern/kern_condvar.c +++ b/sys/kern/kern_condvar.c @@ -240,12 +240,12 @@ cv_wait(struct cv *cvp, struct mtx *mp) WITNESS_SLEEP(0, &mp->mtx_object); WITNESS_SAVE(&mp->mtx_object, mp); - if (cold || panicstr) { + if (cold ) { /* - * After a panic, or during autoconfiguration, just give - * interrupts a chance, then just return; don't run any other - * thread or panic below, in case this is the idle process and - * already asleep. + * During autoconfiguration, just give interrupts + * a chance, then just return. Don't run any other + * thread or panic below, in case this is the idle + * process and already asleep. */ return; } |