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);


