summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2007-11-24 00:08:47 (GMT)
committerandreas_kupries <akupries@shaw.ca>2007-11-24 00:08:47 (GMT)
commitb7e6cdab2219ace8caafe5823ce83755572e03a7 (patch)
tree4e0bbcafe1067efa3f3d0b29888dfd277224ab0a /tests
parent9d4ebdeb66d1504ddb70481085e0a2abc4d68af2 (diff)
downloadtcl-b7e6cdab2219ace8caafe5823ce83755572e03a7.zip
tcl-b7e6cdab2219ace8caafe5823ce83755572e03a7.tar.gz
tcl-b7e6cdab2219ace8caafe5823ce83755572e03a7.tar.bz2
* generic/tclIORChan.c: Fixed a problem with reflected
channels. 'chan postevent' is defined to work only from within the interpreter containing the handler command. Sensible, we want only handler commands to use it. It identifies the channel by handle. The channel moves to a different interpreter or thread. The interpreter containing the handler command doesn't know the channel any longer. 'chan postevent' fails, not finding the channel any longer. Uhm. Fixed by creating a second per-interpreter channel table, just for reflected channels, where each interpreter remembers for which reflected channels it has the handler command. This info does not move with the channel itself. The table is updated by 'chan create', and used by 'chan postevent'. * tests/ioCmd.test: Updated the testsuite.
Diffstat (limited to 'tests')
-rw-r--r--tests/ioCmd.test6
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/ioCmd.test b/tests/ioCmd.test
index baf7ae3..15b241f 100644
--- a/tests/ioCmd.test
+++ b/tests/ioCmd.test
@@ -13,7 +13,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: ioCmd.test,v 1.33 2007/11/20 20:43:13 dkf Exp $
+# RCS: @(#) $Id: ioCmd.test,v 1.34 2007/11/24 00:08:48 andreas_kupries Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2
@@ -1732,7 +1732,7 @@ test iocmd-31.1 {chan postevent, restricted to reflected channels} -match glob -
close $c
removeFile goo
set msg
-} -result {channel "file*" is not a reflected channel}
+} -result {can not find reflected channel named "file*"}
test iocmd-31.2 {chan postevent, unwanted events} -match glob -body {
set res {}
proc foo {args} {oninit; onfinal; track; return}
@@ -3182,7 +3182,7 @@ test iocmd.tf-31.8 {chan postevent, bad input} -match glob -body {
rename foo {}
set res
} -constraints {testchannel testthread} \
- -result {{postevent for channel "rc*" called from outside interpreter}}
+ -result {{can not find reflected channel named "rc*"}}
# ### ### ### ######### ######### #########