Alexandre Ferrieux | 30 Jun 14:13

TIP 304 CFV

Hello,

Apologies if I'm not entitled to a CFV as a non-TCT-member. You can
bite me in that case.
Still, I believe it is roughly the proper time for a vote on TIP 304,
aiming for 8.6a2 if accepted.
Brief summary/history:

TIP #304:
A Standalone [pipe] Primitive for Advanced Child IPC
http://www.tcl.tk/cgi-bin/tct/tip/304.html

It is basically stealing TclX's [pipe], bringing it to stock Tcl as [chan pipe].
This allows, among other things, to redirect separately stdout and
stderr from a child and use both programmatically, like [bgexec] does.
It also silences most of the need behind "TIP #301: Split
Bidirectional Channels For Half-Close", since it allows to close the
stdin of a child and still listen to its last words.

Reference implementation as [Patch 1978495]:
https://sourceforge.net/tracker/index.php?func=detail&aid=1978495&group_id=10894&atid=310894

The implementation is no rocket science. It is a minimal stylistic/API
readjustment of TclX's, which has withstood fire for years.
Notably, it leverages existing pipe machinery with its
obsolete-but-working worker threads and events under Windows. We have
a plan to iron this out eventually, but it is strictly orthogonal to
304 (as it will ease plain [open |] too and fix the awful
TerminateThread issues like in [Bug 1958930]).

As for the (small) history of this submission:
- Function naming following the consensus (Jeff+Donal+Joe ;-)
- Public API (stubbed) as per Donal's advice
- Expanded doc a bit as suggested by Joe.

Thanks in advance to whoever wants to (and may) turn this into a
formal CFV with a deadline in [clock seconds] format ;-)

-Alex

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php

Gmane