Date: Wed, 25 Jun 2003 10:28:10 -0700 From: John-Mark Gurney <gurney_j@efn.org> To: Tim Kientzle <kientzle@acm.org> Cc: "Tim J. Robbins" <tjr@freebsd.org> Subject: Re: tcsh being dodgy, or pipe code ishoos? Message-ID: <20030625172810.GB57612@funkthat.com> In-Reply-To: <3EF9D31F.6010401@acm.org> References: <20030624183515.A42570@FreeBSD.org> <1056499632.662.7.camel@timon.nist> <3EF922BE.4070803@acm.org> <20030624234707.A59666@FreeBSD.org> <20030625001525.A60867@FreeBSD.org> <20030625060450.GX57612@funkthat.com> <20030625074151.GY57612@funkthat.com> <3EF9D31F.6010401@acm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Tim Kientzle wrote this message on Wed, Jun 25, 2003 at 09:51 -0700:
[...]
> >Say the shell you run the above command is 10. It will fork to create
> >a shell to run the commands in the outter parens. Call this 11. 11's
> >job is to run: (echo 2; echo 3) | ./xargs -I% echo +%
> >11 will fork/exec and run: echo 2; echo 3 creating process 12. 11
> >will see that there is no additional commands after ./xargs, and
> >exec (not fork) xargs. Since 12 is stil around and a child of 11,
> >when it exits, 11 will reap 12, and thinking that the first proccess
> >has exited, run the second echo command. Due to scheduling, we'll
> >have two processes running at the same time which can cause the
> >interleaving of data.
[...]
> Fixing the shell would also be desirable, as Terry points
> out, though it does involve removing a nice optimization.
> Why do exec-ed processes inherit the children of the former
> process, anyway? That doesn't entirely sound right to me.
> Is that behavior mandated by some standard? If not, this
> could arguably be considered a kernel bug. Hmmm...
Could someone look into this for me? I don't have any of the standards
document. Hmmm. does APUE even talk about this? It's more of a question
if exec'd processes inherit children.
hmm.
--
John-Mark Gurney Voice: +1 415 225 5579
"All that I will do, has been done, All that I have, has not."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030625172810.GB57612>
