Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!elroy.jpl.nasa.gov!ncar!gatech!purdue!haven!adm!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.unix.questions Subject: Re: Answer on sockets; Question on screen under SunOS 4.[01] Message-ID: <1491:Nov1922:27:5390@kramden.acf.nyu.edu> Date: 19 Nov 90 22:27:53 GMT References: <2212@kraftbus.opal.cs.tu-berlin.de> <10077:Nov1523:37:0790@kramden.acf.nyu.edu> <2539@root44.co.uk> Organization: IR Lines: 31 In article <2539@root44.co.uk> gwc@root.co.uk (Geoff Clare) writes: > brnstnd@kramden.acf.nyu.edu (Dan Bernstein) writes: > > You know how orphaned processes are > >killed when they're stopped? Well, POSIX requires that this also happen > >to processes in an orphaned process group, even if the parent is around. > >This requirement is unreasonable, useless, and unnecessarily hurts lots > >of existing programs, but it's what the standard says. [ correction ] Yes. I should have said the following: You know how job control doesn't work on orphaned processes? Well, POSIX requires that this also happen to processes in an orphaned process group, even if the parent is around. This requirement is unreasonable, useless, and unnecessarily hurts lots of existing programs, but it's what the standard says. > In other words, POSIX has fixed the revolting BSD behaviour Dan describes. No, it has not. Any process with a parent should be allowed to stop. BSD does that correctly. POSIX doesn't. Give me one good reason that screen should fail under POSIX. In the exceptional case when a process doesn't have a parent, there are arguments for (BSD) killing the process, for stopping the process, and for (POSIX) ignoring the signal. I favor the POSIX behavior over the BSD behavior, though I think ignoring orphan status is the best solution. In any case, this is a minor issue compared to the problem of what POSIX does to processes that *do* have parents. ---Dan