From owner-cvs-all Thu May 6 12: 6:42 1999 Delivered-To: cvs-all@freebsd.org Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.26.10.9]) by hub.freebsd.org (Postfix) with ESMTP id 2C6E01506D; Thu, 6 May 1999 12:06:37 -0700 (PDT) (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id FAA06299; Fri, 7 May 1999 05:06:35 +1000 Date: Fri, 7 May 1999 05:06:35 +1000 From: Bruce Evans Message-Id: <199905061906.FAA06299@godzilla.zeta.org.au> To: hibma@skylink.it, peter@netplex.com.au Subject: Re: cvs commit: src/sys/sys kernel.h Cc: cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk >Anyway, tsleep() used to work because curproc was set to &proc0 very early, >and the idle context was viable then, which meant that it did a spl0() for >the halt and woke up on clock or hardware interrupts... (!) > >Hmm.. if I'm interpreting that right, we were breaking the splhigh() around >the configure process and have been for a while... I'll revert here and >see exactly where it's happening.. tsleep() begins with the evil hack (if cold || panicstr) { splx(safepri); splx(s); return} This hides problems with uninitialised and NULL curproc's. We probably uncovered some bugs by moving the setting of curproc after the unsetting of cold. Note that the hack breaks splhigh(). I think early calls to tsleep() should be fatal. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message