Tcl Source Code

View Ticket
Login
Ticket UUID: 1978495
Title: TIP 304
Type: Support Version: None
Submitter: ferrieux Created on: 2008-05-29 23:16:16
Subsystem: None Assigned To: andreas_kupries
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2009-07-29 19:42:42
Resolution: Closed By: ferrieux
    Closed on: 2008-07-21 21:04:04
Description:
Stealing TclX's [pipe] as [chan pipe].
Only changes: (1) naming more in line with surrounding style, and (2) creation of a true list instead of a string (robustness against spaces in channel names).
User Comments: dkf added on 2009-07-29 19:42:42:

IP - Comment Removed: 130.88.1.31

dkf added on 2008-12-07 19:22:56:

data_type - 210894

ferrieux added on 2008-07-22 04:04:04:
Logged In: YES 
user_id=496139
Originator: YES

Committed to HEAD after a bit of whitespace police :-)

ferrieux added on 2008-07-08 04:02:09:

File Added - 283915: chanpipe6.patch

Logged In: YES 
user_id=496139
Originator: YES

File Added: chanpipe6.patch

ferrieux added on 2008-07-02 21:13:14:
Logged In: YES 
user_id=496139
Originator: YES

Last upload deprecates [chan pipe pr pw] following discussion on tcl-core.

ferrieux added on 2008-07-02 21:12:08:

File Deleted - 281438: 



File Added - 283429: chanpipe5.patch

Logged In: YES 
user_id=496139
Originator: YES

File Added: chanpipe5.patch

ferrieux added on 2008-06-15 16:04:54:

File Deleted - 281158:

ferrieux added on 2008-06-15 16:04:53:

File Added - 281438: chanpipe4.patch

Logged In: YES 
user_id=496139
Originator: YES

Changed CONST84 to const following Joe's advice.
File Added: chanpipe4.patch

ferrieux added on 2008-06-12 20:43:16:

File Deleted - 281060: 



File Added - 281158: chanpipe4.patch

Logged In: YES 
user_id=496139
Originator: YES

OK, Donal agrees with you so I renamed it Tcl_CreatePipe ;-)
Would you vote YES now ?
File Added: chanpipe4.patch

hobbs added on 2008-06-12 04:53:28:
Logged In: YES 
user_id=72656
Originator: NO

_I_ would be, which is to say I'm comfortable with Tcl_CreatePipe being the correct, formal, public API that we expect users to use.  This might be worth running by tcl-core though.

ferrieux added on 2008-06-12 04:51:46:
Logged In: YES 
user_id=496139
Originator: YES

So if I rename it, and hence we get side-by-side TclpCreatePipe (returning two TclFile's) and Tcl_CreatePipe (returning two Tcl_Channel's),  you're happy ?

hobbs added on 2008-06-12 04:42:43:
Logged In: YES 
user_id=72656
Originator: NO

If we are never going to promote TclpCreatePipe, then I don't think we should hamper the long term API with a lesser name (Tcl_StandalonePipe).  This about the now, as well as the later.

ferrieux added on 2008-06-12 04:34:29:

File Deleted - 281049: 



File Added - 281060: chanpipe3.patch

Logged In: YES 
user_id=496139
Originator: YES

OK for the flags. New impl attached.
For the name, I prefer to stay visually far from the existing TclpCreatePipe, which has similar semantics but uses a different type for channel encapsulation. More generally, the whole code is sprinkled with the confusion between a "pipe" and a "pipeline" (which is made of several children processes and pipes), and I think the word "standalone" helps keep things clear ;-)
 
File Added: chanpipe3.patch

hobbs added on 2008-06-12 04:19:50:
Logged In: YES 
user_id=72656
Originator: NO

I would strongly urge a flags arg to Tcl_StandalonePipe (and is there a better name for that ... like Tcl_CreatePipe?).  It may not be used immediately, but it will improve the chances that anything forgotten is easier to slot in.  I'm having this issue now with shoe-horning inet6 in to old APIs that really should use flags.

ferrieux added on 2008-06-12 03:54:34:

File Added - 281049: chanpipe2.patch

Logged In: YES 
user_id=496139
Originator: YES

Attached the improved implementation:
 - public API (stub slot 580 in tcl)
 - clearer signature (two explicit channel args instead of an array)
 - test suite
 - doc (chan.n)
File Added: chanpipe2.patch

ferrieux added on 2008-05-30 06:16:18:

File Added - 279530: chanpipe.patch

Attachments: