Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site umcp-cs.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!umcp-cs!chris From: chris@umcp-cs.UUCP (Chris Torek) Newsgroups: net.bugs.4bsd Subject: Re: mchk 2 --- tbuf error on 750 running 4.2 BSD Message-ID: <1062@umcp-cs.UUCP> Date: Thu, 1-Aug-85 02:24:29 EDT Article-I.D.: umcp-cs.1062 Posted: Thu Aug 1 02:24:29 1985 Date-Received: Fri, 2-Aug-85 08:21:23 EDT References: <83@zeta.UUCP> <654@gatech.CSNET> <2496@sun.uucp> <427@carina.noao.UUCP> <4849@allegra.UUCP> Organization: U of Maryland, Computer Science Dept., College Park, MD Lines: 36 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@umcp-cs ARPA: chris@maryland