9fans archive / 1996 / 10 / 59 / prev next From: presotto@pla... presotto@pla... Subject: No subject Date: Thu, 17 Oct 1996 10:56:13 -0400 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);