Xref: utzoo comp.unix.questions:6799 comp.unix.wizards:8163 comp.unix.microport:567 Path: utzoo!mnetor!uunet!lll-winken!lll-tis!ames!umd5!mimsy!chris From: chris@mimsy.UUCP (Chris Torek) Newsgroups: comp.unix.questions,comp.unix.wizards,comp.unix.microport Subject: Re: Trouble killing processes in SysV/AT Message-ID: <11291@mimsy.UUCP> Date: 30 Apr 88 16:32:24 GMT References: <3950@killer.UUCP> <3951@killer.UUCP> <468@micropen> <51443@sun.uucp> Followup-To: comp.unix.wizards Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Lines: 20 In article <51443@sun.uucp> limes@sun.uucp (Greg Limes) writes: >If the sleep priority is above PZERO, the [signalled] sleep() will return >an error corresponding to "I was interrupted!". Unless Sun has made some big kernel changes recently, this is not the case. See /sys/sys/kern_synch.c, at the label `psig' in sleep(). Returning an error from sleep would be a viable alternative to `catch' and `throw' routines, although it would entail more work. Every driver that now sleeps interruptably might read while ((foo->status & READY) == 0) { if (sleep((caddr_t)foo, PFOO)) return (EINTR); } and one would be safe in ignoring the (new) return value from sleep iff the sleep is uninterruptable. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) Domain: chris@mimsy.umd.edu Path: uunet!mimsy!chris