Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 (MC830713); site mcvax.UUCP Path: utzoo!linus!philabs!mcvax!guido From: guido@mcvax.UUCP (Guido van Rossum) Newsgroups: net.unix-wizards Subject: Re: handy tip #502 Message-ID: <5333@mcvax.UUCP> Date: Thu, 4-Aug-83 10:54:58 EDT Article-I.D.: mcvax.5333 Posted: Thu Aug 4 10:54:58 1983 Date-Received: Fri, 5-Aug-83 00:03:29 EDT References: <226@linus.UUCP> Organization: Math.Centre, Amsterdam Lines: 16 "Your .profile or .login file won't work correctly if it has non-builtin commands in it, but that's OK. Once logged in, have the shell STOP the processes as above and kill them." Your .login may work, but at least here (4.1c BSD) .profile gets you in serious trouble. I guessed it worked as follows: the shell tries to fork and gets an error. It assumes the system's process table is full, sleeps some time and tries to fork again; forever. Now if you interrupt it, it dies very soon. Why? We saw the answer to that in recent discussions on sleep(): during the sleep(), sh's interrupt catcher brings it back to its main loop, but when the alarm goes off it dies (either of the signal or because of the wild longjmp). [All this is speculation, I didn't have the time to look in the code.] Guido van Rossum, Math. Centre, Amsterdam, {philabs,decvax}!mcvax!guido