From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23436 invoked from network); 5 May 1998 10:52:35 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 5 May 1998 10:52:35 -0000 Received: (from list@localhost) by math.gatech.edu (8.8.5/8.8.5) id GAA18304; Tue, 5 May 1998 06:43:26 -0400 (EDT) Resent-Date: Tue, 5 May 1998 06:43:26 -0400 (EDT) From: "Bart Schaefer" Message-Id: <980505034307.ZM7951@candle.brasslantern.com> Date: Tue, 5 May 1998 03:43:07 -0700 In-Reply-To: <199805050902.KAA04301@taos.demon.co.uk> Comments: In reply to Andrew Main "Re: Speaking of "coproc" ..." (May 5, 10:02am) References: <199805050902.KAA04301@taos.demon.co.uk> X-Mailer: Z-Mail (4.0b.820 20aug96) To: Andrew Main Subject: Re: Speaking of "coproc" ... Cc: zsh-workers@math.gatech.edu MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Resent-Message-ID: <"19Kjr2.0.uT4.DrkJr"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3932 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu On May 5, 10:02am, Andrew Main wrote: } Subject: Re: Speaking of "coproc" ... } } Bart Schaefer wrote: } >How does one close the input to the coproc, so as to send it an end-of-file? } >The only thing I've come up with is "coproc exit" which seems rather silly } >and which closes both the input and the output. } } Coprocesses are a bit of a mess. I'd like to make it possible to attach } the coprocess to specified fd numbers, just like file redirections, That's easily accomplished already, by e.g. 3<&p or 4>&p. The odd bit is that when ksh does >&p, it -closes- the "p" descriptor after dup'ing it. When zsh does >&p, it leaves "p" open, so you can do >&p again to the same coprocess. (This is not true of <&p, which makes me think >&p has a bug.) This has some interesting side effects, one of which is that there's no way to explicitly close down the coproc input (except to start another). } so that one could close either pipe with the ">&-" syntax. This would } also make it possible to have multiple independent coprocesses. That's also already possible, as someone on the zsh-users thread pointed out. coproc first-coproc exec 3<&p 4>&p coproc second-coproc exec 5<&p 6>&p coproc etcetera } To do this properly I think we'd need an extended redirection syntax, } to allow redirecting file descriptors of more than one digit That's completely orthogonal. } perhaps we could do something like the rc syntax? I don't know what that is. -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com