diff options
author | andreas_kupries <akupries@shaw.ca> | 2007-11-24 00:08:47 (GMT) |
---|---|---|
committer | andreas_kupries <akupries@shaw.ca> | 2007-11-24 00:08:47 (GMT) |
commit | b7e6cdab2219ace8caafe5823ce83755572e03a7 (patch) | |
tree | 4e0bbcafe1067efa3f3d0b29888dfd277224ab0a /ChangeLog | |
parent | 9d4ebdeb66d1504ddb70481085e0a2abc4d68af2 (diff) | |
download | tcl-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-- | ChangeLog | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -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 |