Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Speaking of "coproc" ...
- X-seq: zsh-workers 3932
- From: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxx>
- To: Andrew Main <zefram@xxxxxxxxx>
- Subject: Re: Speaking of "coproc" ...
- Date: Tue, 5 May 1998 03:43:07 -0700
- Cc: zsh-workers@xxxxxxxxxxxxxxx
- In-reply-to: <199805050902.KAA04301@xxxxxxxxxxxxxxxx>
- References: <199805050902.KAA04301@xxxxxxxxxxxxxxxx>
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
Messages sorted by:
Reverse Date,
Date,
Thread,
Author