mchk 2 --- tbuf error on 750 running 4.2 BSD
Chris Torek
chris at umcp-cs.UUCP
Thu Aug 1 16:24:29 AEST 1985
There is another problem with panic: you can get bogus "panic: sleep"s.
I fixed this a while back. In /sys/sys/kern_synch.c, change the top of
sleep() to look like this:
sleep(chan, pri)
caddr_t chan;
int pri;
{
register struct proc *rp, **hp;
register s;
rp = u.u_procp;
s = spl6();
if (panicstr) {
/*
* Let interrupts in for a moment, then just return.
* The splnet() really ought to be spl0(), but I'm
* too timid to do that.
*/
(void) splnet();
splx(s);
return;
}
if (chan == 0 || rp->p_stat != SRUN || rp->p_rlink)
panic("sleep");
.
.
.
(The splnet lets network interrupts through, so that the network
disk stuff (remote mount file systems) can finish syncing. splnet
is also < spl6, so disk interrupts get through too.)
--
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 4251)
UUCP: seismo!umcp-cs!chris
CSNet: chris at umcp-cs ARPA: chris at maryland
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list