Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!pt!ius2.cs.cmu.edu!edw From: edw@ius2.cs.cmu.edu (Eddie Wyatt) Newsgroups: comp.unix.wizards Subject: Re: No more signals Message-ID: <1216@ius2.cs.cmu.edu> Date: Thu, 25-Jun-87 17:49:46 EDT Article-I.D.: ius2.1216 Posted: Thu Jun 25 17:49:46 1987 Date-Received: Sun, 5-Jul-87 19:46:48 EDT References: <48300005@hcx1> <1714@munnari.oz> <492@its63b.ed.ac.uk> Organization: Carnegie-Mellon University, CS/RI Lines: 24 Summary: y In article <492@its63b.ed.ac.uk>, simon@its63b.ed.ac.uk (Simon Brown) writes: > > One really nasty bug that really needs fixing fast is that the so-called > "safe signal" mechanism is anything but! If I send 5 SIGINT signals to a > process, there is no guarentee that that process will receive them all - ok, > it will certainly receive at least one, but whether it receives 2,3,4 or 5 > is pretty much left to chance! > This really isn't a bug as far as I know. The documentation for signal and sigvec specifically say that the interrupt causing the interrupt handler to be called is mask out during the time the interrupt handler is executing and then restored at the end of the call. If any of those interrupts come during the time the interrupt handler is called then they are lost, simple is that. You can always have the interrupt handle reinstate the interrupt (sigsetmask) if you really want to. -- Eddie Wyatt e-mail: edw@ius2.cs.cmu.edu terrorist, cryptography, DES, drugs, cipher, secret, decode, NSA, CIA, NRO.