diff options
author | dgp <dgp@users.sourceforge.net> | 2014-03-27 19:14:01 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2014-03-27 19:14:01 (GMT) |
commit | bb3eb0aaa60aba47a0e857fa2e34e5eb7ba8263f (patch) | |
tree | 6232cd636dc535c6aee83de5b03bf83bec370cc7 /tests | |
parent | faf7effffed566ae286f67f982029e5d7748cd40 (diff) | |
download | tcl-bb3eb0aaa60aba47a0e857fa2e34e5eb7ba8263f.zip tcl-bb3eb0aaa60aba47a0e857fa2e34e5eb7ba8263f.tar.gz tcl-bb3eb0aaa60aba47a0e857fa2e34e5eb7ba8263f.tar.bz2 |
Test iocmd-23.11 demos another segfault.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ioCmd.test | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/ioCmd.test b/tests/ioCmd.test index 768a748..262be9b 100644 --- a/tests/ioCmd.test +++ b/tests/ioCmd.test @@ -1013,6 +1013,21 @@ test iocmd-23.10 {chan read, EAGAIN means no data, yet no eof either} -match glo rename foo {} unset res } -result {{read rc* 4096} {} 0} +test iocmd-23.11 {chan read, close pulls the rug out} -match glob -body { + set res {} + proc foo {args} { + oninit; onfinal; track + set args [lassign $args sub id] + if {$sub ne "read"} {return} + close $id + return {} + } + set c [chan create {r} foo] + note [read $c] + close $c + rename foo {} + set res +} -result {{read rc* 4096} {read rc* 4096} snarfsnarf} # --- === *** ########################### # method write |