From 9fans@cse.psu.edu Thu Oct 24 15:39:30 EDT 1996 Article: 1987 of comp.os.plan9 Xref: info.ecf comp.os.plan9:1987 Newsgroups: comp.os.plan9 Path: info.ecf!utnut!cs.utexas.edu!news.sprintlink.net!news-peer.sprintlink.net!howland.erols.net!EU.net!usenet2.news.uk.psi.net!uknet!usenet1.news.uk.psi.net!uknet!uknet!strath-cs!dcl-cs!bath.ac.uk!ccsis From: presotto@plan9.BEll-labs.COM Subject: (none) Approved: plan9mod@bath.ac.uk Reply-To: 9fans@cse.psu.edu Sender: ccsis@bath.ac.uk (Icarus Sparry) Organization: Plan 9 mailing list Message-ID: <199610171501.LAA28923@cse.psu.edu> Date: Thu, 17 Oct 1996 15:03:41 GMT Lines: 22 Ncube has had problems with the fact that proc.c requires all Rendez structures to not be reallocatable, i.e., they can't exist on stacks or in objects that are freed. If anyone cares, I have a rewrite of sleep/wakeup that gets around that. The shipped kernel should be clean this way so that it shouldn't be a problem to anyone that hasn't been hacking hard. They also found a neat bug in pexit(). Move the unlock on line 691 to after the wakeup. Otherwise you can blow up indirecting through a null reference. p->nwait++; unlock(&p->exl); wakeup(&p->waitr); goes to p->nwait++; wakeup(&p->waitr); unlock(&p->exl);