Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!harvard!talcott!encore!ptw From: ptw@encore.UUCP (P. Tucker Withington) Newsgroups: net.bugs.4bsd Subject: Kill(2) Man page bug? Vax and Sun Message-ID: <287@encore.UUCP> Date: Thu, 27-Mar-86 13:06:33 EST Article-I.D.: encore.287 Posted: Thu Mar 27 13:06:33 1986 Date-Received: Sun, 20-Apr-86 07:57:19 EST Reply-To: ptw@encore.UUCP (P. Tucker Withington) Distribution: net Organization: Encore Computer, Marlboro MA Lines: 32 Keywords: kill(2), 4.2bsd, Sun2.0, man The kill(2) man page in both 4.2bsd and Sun Release 2.0 states: If the process number is 0, the signal is sent to *all other* processes in the sender's process group; this is a variant of killpg(2). (emphasis mine) Maybe I'm expecting too much of the English language, but I interpret this statement to mean: whereas killpg sends to everyone in a process group, you can use kill to send to everyone except yourself (obviating a signal/SIGIGNORE call). The following test program demonstrates that this is not how kill is implemented: main() { kill(0, SIGQUIT); } causes a core dump of itself. I don't have my historical manuals in front of me, so I can't say when this language was introduced to the kill(2) man page, but it clearly diverges from the System V man page and the Sun and Vax implementations. I always have assumed kill(0, ...) does what it does and am puzzled by the propagation of the wording in the man page. Is it just sloppy English, or did someone actually think this was a useful feature and document it but never implement it? I expect a number of things would break if kill actually did what I interpret the man page to say it does. o.o --ptw ~