Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!hpda!hpihoah!hpirs!hpisoa1!davel From: davel@hpisoa1.HP.COM (Dave Lennert) Newsgroups: comp.unix.wizards Subject: Re: No more signals Message-ID: <2200017@hpisoa1.HP.COM> Date: Thu, 23-Jul-87 17:11:13 EDT Article-I.D.: hpisoa1.2200017 Posted: Thu Jul 23 17:11:13 1987 Date-Received: Sat, 25-Jul-87 15:16:59 EDT References: <967@wjvax.wjvax.UUCP> Organization: Hewlett Packard, Cupertino Lines: 19 > However, Berekely signals are not queued (unlike, as I understand > it, SIGCLD in SYSV). This is why the user often needs a secondary > mechanism (such as wait3(2) for SIGCHLD or select(2) for SIGIO) > to process a signal. Technically, SIGCLD is not queued in SYSV. SIGCLD is resent by the kernel whenever a signal handler for SIGCLD is reinstalled and there are unwaited for zombie children. This is different than queueing all instances of SIGCLD being sent. For example, if a process sends SIGCLD via kill(2), it is not "queued". Also, if several children die, each generating SIGCLD, and the parent SIGCLD handler waits for all of them on its first entry (processing the "first" SIGCLD) there will not be a reentry when the handler is reinstalled since there are no longer any waiting zombies. -Dave Lennert HP ihnp4!hplabs!hpda!davel