Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!husc6!seismo!munnari!kre From: kre@munnari.UUCP Newsgroups: comp.unix.wizards Subject: Re: No more signals Message-ID: <1714@munnari.oz> Date: Sat, 20-Jun-87 14:19:06 EDT Article-I.D.: munnari.1714 Posted: Sat Jun 20 14:19:06 1987 Date-Received: Sun, 21-Jun-87 06:58:43 EDT References: <48300005@hcx1> Organization: Comp Sci, Melbourne Uni, Australia Lines: 27 In article <48300005@hcx1>, tomp@hcx1.SSD.HARRIS.COM writes: > a mask of the signals and checks it in such places as system call entry/exit. > ... the signal mask is checked in critical places. I think you'll find that the vast majority of the checks (executed) are actually "is there a signal", the code doesn't care which signal is pending, only whether one is. You could implement the signal pending and mask stuff anyway that you like from this point of view, only the signal sending, and delivery code care about this part of things, and they're not time critical, so indexing into an array of bits would be reasonable. However, there's a problem with any change here .. he user interface assumes that the signal bits can be implemented by a bit mask of 32 bits (actually an "int" which we hope like hell has NSIG (32) bits in it). This is one of the interfaces left that has to change. When its changed there are going to be more howls of "Berkeley broke it again" but fortunately this time, the changes need not break any working Sys V (or V7) compliant code, only stuff that uses the extended signal facilities. No easy answer. kre