Xref: utzoo comp.unix.xenix:4048 comp.unix.wizards:13041 Path: utzoo!attcan!uunet!sco!chapman From: chapman@sco.COM (Brian Chapman) Newsgroups: comp.unix.xenix,comp.unix.wizards Subject: Re: wakeup() race condition. (theory) Keywords: wakeup sleep spl Message-ID: <602@sysco> Date: 1 Dec 88 06:18:06 GMT References: <455@mrecvax.UUCP> Reply-To: chapman@sco.COM (Brian Chapman) Organization: The Santa Cruz Operation, Inc. Lines: 20 In article <455@mrecvax.UUCP> tron@mrecvax.UUCP (Carlos Mendioroz) writes: < < Sleep & wakeup both call spl6() to ensure secure access to < the process queues, (Well, this is not theory, the calls are < there...) and it is possible for the driver's device to < interrupt as a wakeup() is running, isn't it ? < < As this driver (as SCO xenix serial driver) is running with < prio 7, it's not blocked by spl6() and then it may interfere < with the running wakeup by, say, runnig another wakeup. < < Solution: (?) < Not to call any wakeup at prio 7, that is, put every driver < interrupt routine that calls wakeup at prio 6 or below. BTW just in case anyone is wondering, SCO's serial driver does *NOT* call wakeup from it's level 7 interrupt routine. -- Pay no attention to the man behind the curtain. Brian Chapman uunet!sco!chapman SCO UNIX 3.2 Development