diff options
author | andreas_kupries <akupries@shaw.ca> | 2008-03-07 22:42:48 (GMT) |
---|---|---|
committer | andreas_kupries <akupries@shaw.ca> | 2008-03-07 22:42:48 (GMT) |
commit | 56e9c5c947e0b823c849db2ba32b86e382615f55 (patch) | |
tree | fcfc35f56a9cec72b96133d5e90043cd507c4f85 /ChangeLog | |
parent | 4836d8cd07f44d31f6c4edfe2726dd28d3309b5a (diff) | |
download | tcl-56e9c5c947e0b823c849db2ba32b86e382615f55.zip tcl-56e9c5c947e0b823c849db2ba32b86e382615f55.tar.gz tcl-56e9c5c947e0b823c849db2ba32b86e382615f55.tar.bz2 |
* generic/tclResult.c (ReleaseKeys): Workaround for [Bug
1904907]. Reset the return option keys to NULL to allow full
re-initialization by GetKeys(). This introduces a memory leak
for the key objects, but gets us around a crash in the
finalization of reflected channels when handling returns, either
at compile- or runtime. In both cases we access the keys after
they have been released by their thread exit handler. A proper
fix is entangled with the untangling of the finalization
ordering and attendant issues. For now we choose the lesser
evil.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -1,3 +1,16 @@ +2008-03-07 Andreas Kupries <andreask@activestate.com> + + * generic/tclResult.c (ReleaseKeys): Workaround for [Bug + 1904907]. Reset the return option keys to NULL to allow full + re-initialization by GetKeys(). This introduces a memory leak + for the key objects, but gets us around a crash in the + finalization of reflected channels when handling returns, either + at compile- or runtime. In both cases we access the keys after + they have been released by their thread exit handler. A proper + fix is entangled with the untangling of the finalization + ordering and attendant issues. For now we choose the lesser + evil. + 2008-03-07 Don Porter <dgp@users.sourceforge.net> * generic/tclExecute.c (Tcl_ExprObj): Revised expression bytecode |