summaryrefslogtreecommitdiffstats
path: root/ChangeLog
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 /ChangeLog
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 'ChangeLog')
-rw-r--r--ChangeLog19
1 files changed, 19 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6083aab..ea34251 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2007-11-23 Andreas Kupries <andreask@activestate.com>
+
+ * 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.
+
2007-11-23 Jeff Hobbs <jeffh@ActiveState.com>
* generic/tclVar.c (Tcl_ArrayObjCmd): handle the right data for