From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Thu, 17 Oct 1996 10:56:13 -0400 From: presotto@plan9.bell-labs.com presotto@plan9.bell-labs.com Subject: No subject Topicbox-Message-UUID: 4fb4ac9c-eac8-11e9-9e20-41e7f4b1d025 Message-ID: <19961017145613.YftIcU7ksvauZBmF6F9pMc5g4h9IkBdoqupyAyT8ahY@z> 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);