diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2016-07-26 10:09:06 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2016-07-26 10:09:06 (GMT) |
commit | c88235bd9536704f9a089f9e7a90440c75acc45c (patch) | |
tree | 3ffab7cf6841f58dc71fc3b4f5ad51cce93d30e1 /doc/chan.n | |
parent | b13a6ff66c6185e802dae4ab0153b5576f49886d (diff) | |
parent | c8206cd0eabcf7418eb982e0b8e5d680a46e68c9 (diff) | |
download | tcl-c88235bd9536704f9a089f9e7a90440c75acc45c.zip tcl-c88235bd9536704f9a089f9e7a90440c75acc45c.tar.gz tcl-c88235bd9536704f9a089f9e7a90440c75acc45c.tar.bz2 |
[db0a5f6417] Make a few tests resilient to differences in semantics of pipes between OSs.
Diffstat (limited to 'doc/chan.n')
-rw-r--r-- | doc/chan.n | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -549,6 +549,18 @@ this, spawn with "2>@" or ">@" redirection operators onto the write side of a pipe, and then immediately close it in the parent. This is necessary to get an EOF on the read side once the child has exited or otherwise closed its output. +.RS +.PP +Note that the pipe buffering semantics can vary at the operating system level +substantially; it is not safe to assume that a write performed on the output +side of the pipe will appear instantly to the input side. This is a +fundamental difference and Tcl cannot conceal it. The overall stream semantics +\fIare\fR compatible, so blocking reads and writes will not see most of the +differences, but the details of what exactly gets written when are not. This +is most likely to show up when using pipelines for testing; care should be +taken to ensure that deadlocks do not occur and that potential short reads are +allowed for. +.RE .VE 8.6 .TP \fBchan pop \fIchannelId\fR |