Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 (MC840302); site haring.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!mcvax!turing!haring!jim From: jim@haring.UUCP Newsgroups: net.unix Subject: Re: shutdown Message-ID: <357@haring.UUCP> Date: Fri, 16-Nov-84 10:33:23 EST Article-I.D.: haring.357 Posted: Fri Nov 16 10:33:23 1984 Date-Received: Sat, 17-Nov-84 19:59:51 EST References: <592@denelcor.UUCP> Organization: CWI, Amsterdam Lines: 12 Apparently-To: rnews@turing.LOCAL Shutdown attempts to write to everyone's terminal. Now, someone can block that message (with a ^S or whatever) and the write hangs. Shutdown has an alarm() round the write, to arrange to catch such action. However, the alarm handling routine 'does nothing', it is only to interrupt the write system call, but, since on 4.2, the write system call is restartable, you go back to where you were... You need to have a setjmp/longjmp construct instead. Later versions of 4.2 have this fixed. Jim McKie Centrum voor Wiskunde en Informatica, Amsterdam mcvax!jim