From owner-freebsd-current@FreeBSD.ORG Wed Jun 25 10:27:48 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B1FB837B401; Wed, 25 Jun 2003 10:27:48 -0700 (PDT) Received: from mail.cyberonic.com (mail.cyberonic.com [4.17.179.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8672A43FBD; Wed, 25 Jun 2003 10:27:45 -0700 (PDT) (envelope-from jmg@hydrogen.funkthat.com) Received: from hydrogen.funkthat.com (node-40244c0a.sfo.onnet.us.uu.net [64.36.76.10]) by mail.cyberonic.com (8.12.8/8.12.5) with ESMTP id h5PHSmMo016425; Wed, 25 Jun 2003 13:28:48 -0400 Received: (from jmg@localhost) by hydrogen.funkthat.com (8.12.9/8.11.6) id h5PHSAao031071; Wed, 25 Jun 2003 10:28:10 -0700 (PDT) (envelope-from jmg) Date: Wed, 25 Jun 2003 10:28:10 -0700 From: John-Mark Gurney To: Tim Kientzle Message-ID: <20030625172810.GB57612@funkthat.com> Mail-Followup-To: Tim Kientzle , Juli Mallett , Andrey Chernov , freebsd-current@freebsd.org, "Tim J. Robbins" 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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3EF9D31F.6010401@acm.org> User-Agent: Mutt/1.4.1i X-Operating-System: FreeBSD 4.2-RELEASE i386 X-PGP-Fingerprint: B7 EC EF F8 AE ED A7 31 96 7A 22 B3 D8 56 36 F4 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html cc: Juli Mallett cc: Andrey Chernov cc: freebsd-current@freebsd.org cc: "Tim J. Robbins" Subject: Re: tcsh being dodgy, or pipe code ishoos? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: John-Mark Gurney List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jun 2003 17:27:49 -0000 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."