diff options
author | davygrvy <davygrvy@pobox.com> | 2005-04-19 16:28:22 (GMT) |
---|---|---|
committer | davygrvy <davygrvy@pobox.com> | 2005-04-19 16:28:22 (GMT) |
commit | b5ceed8fb0ab4a41dfa1314e589d6c8fa3fe7043 (patch) | |
tree | 26209da071fe74735cc8b3ec35ad52bb1c9cb722 /tests/winPipe.test | |
parent | 0e5bed34d7e56bcee072a35346363b5f474bc178 (diff) | |
download | tcl-b5ceed8fb0ab4a41dfa1314e589d6c8fa3fe7043.zip tcl-b5ceed8fb0ab4a41dfa1314e589d6c8fa3fe7043.tar.gz tcl-b5ceed8fb0ab4a41dfa1314e589d6c8fa3fe7043.tar.bz2 |
* win/tclWinPipe.c: The pipe channel driver now respects
the -blocking option when closing. The windows pipe driver
now has the same behavior as the UNIX side. This change is
to avoid a hung shell when exiting due to open pipes that
refuse to close in a graceful manner.
* doc/open.n: Added a note about -blocking 0 and lack of
exit status as it had never been documented. [Bug 947693]
***POTENTIAL INCOMPATIBILITY***
Scripts that use async pipes on windows, must (like the
UNIX side) set -blocking to 1 before calling [close] to
receive the exit status.
* tests/winPipe.test (winpipe-6.1/2): added 'fconfigure $f
-blocking 1' so the exit status can be acquired.
Diffstat (limited to 'tests/winPipe.test')
-rw-r--r-- | tests/winPipe.test | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tests/winPipe.test b/tests/winPipe.test index 4cc6e26..34de9bb 100644 --- a/tests/winPipe.test +++ b/tests/winPipe.test @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: winPipe.test,v 1.22.2.2 2004/10/28 00:01:12 dgp Exp $ +# RCS: @(#) $Id: winPipe.test,v 1.22.2.3 2005/04/19 16:28:34 davygrvy Exp $ package require tcltest namespace import -force ::tcltest::* @@ -295,6 +295,7 @@ test winpipe-6.1 {PipeSetupProc & PipeCheckProc: read threads} \ lappend x [read $f] after 100 { lappend x timeout } vwait x + fconfigure $f -blocking 1 lappend x [catch {close $f} msg] $msg } {writable timeout readable {foobar } timeout 1 stderr32} @@ -309,6 +310,7 @@ test winpipe-6.2 {PipeSetupProc & PipeCheckProc: write threads} \ flush $f after 100 { lappend x timeout } vwait x + fconfigure $f -blocking 1 lappend x [catch {close $f} msg] $msg } {writable timeout 0 {}} |