diff options
author | andreas_kupries <akupries@shaw.ca> | 2001-09-24 17:54:54 (GMT) |
---|---|---|
committer | andreas_kupries <akupries@shaw.ca> | 2001-09-24 17:54:54 (GMT) |
commit | 138bca983ef2dd1ca1e49200560c31f184d53bd6 (patch) | |
tree | 6635956e4bdb4e4ce9a3952bdf46562514800df4 | |
parent | c9fcc4aacc643d65d7d4c56fe8b44f51f6c52f46 (diff) | |
download | tcl-138bca983ef2dd1ca1e49200560c31f184d53bd6.zip tcl-138bca983ef2dd1ca1e49200560c31f184d53bd6.tar.gz tcl-138bca983ef2dd1ca1e49200560c31f184d53bd6.tar.bz2 |
* The change below fixes [Bug #464380]. The bug was reported by
Ronnie Brunner <rbrunner@users.sourceforge.net>. He also
provided the patch.
* generic/tclEvent.c (Tcl_Finalize): Moved release of
'tclLibraryPath' to Tcl_FinalizeThread.
(Tcl_FinalizeThread): See above, new place for release of
'tclLibraryPath'.
-rw-r--r-- | ChangeLog | 31 | ||||
-rw-r--r-- | generic/tclEvent.c | 21 |
2 files changed, 32 insertions, 20 deletions
@@ -1,3 +1,14 @@ +2001-09-24 Andreas Kupries <andreas_kupries@users.sourceforge.net> + + * The change below fixes [Bug #464380]. The bug was reported by + Ronnie Brunner <rbrunner@users.sourceforge.net>. He also + provided the patch. + + * generic/tclEvent.c (Tcl_Finalize): Moved release of + 'tclLibraryPath' to Tcl_FinalizeThread. + (Tcl_FinalizeThread): See above, new place for release of + 'tclLibraryPath'. + 2001-09-20 Jeff Hobbs <jeffh@ActiveState.com> * win/makefile.vc: updated IA64 compile settings @@ -7,35 +18,35 @@ * win/tclWinSock.c (SocketThread): corrected pointer cast for _WIN64. * win/tclWinNotify.c: removed unnecessary winsock include (it is - already in from tclWinPort.h). + already in from tclWinPort.h). * win/tclWinPort.h: changed winsock.h include to winsock2.h. - Reverses change from 2000-11-16, but is necessary for WIN64. - Extensions should comply with defined OS words, or use #ifndef. + Reverses change from 2000-11-16, but is necessary for WIN64. + Extensions should comply with defined OS words, or use #ifndef. 2001-09-19 Jeff Hobbs <jeffh@ActiveState.com> * generic/tclTest.c (TestcmdtokenCmd): corrected pointer - storage/retrieval for 64bit machines. + storage/retrieval for 64bit machines. * generic/tclCmdAH.c (Tcl_FormatObjCmd): * generic/tclScan.c (Tcl_ScanObjCmd): corrected handling of format - and scan on 64-bit machines. [Bug 219223, Patch #412696] (rmax) + and scan on 64-bit machines. [Bug 219223, Patch #412696] (rmax) * unix/configure: regen'ed * unix/tcl.m4: added --enable-64bit support for HP-11 with the - 64-bit kernel. + 64-bit kernel. * generic/tcl.h: removed forced #define USE_TCLALLOC 1 for - Windows. This means the native system allocator will be used by - default. This should be binary and source compatible with - extensions, as Tcl_Alloc is a properly stubbed function. + Windows. This means the native system allocator will be used by + default. This should be binary and source compatible with + extensions, as Tcl_Alloc is a properly stubbed function. 2001-09-18 Don Porter <dgp@users.sourceforge.net> * unix/configure: Regen. * unix/tcl.m4 (SC_CONFIG_CFLAGS): On Linux, disable inlining when - one of the compat/*.c routines is to be linked in. [Patch 440891] + one of the compat/*.c routines is to be linked in. [Patch 440891] 2001-09-13 Jeff Hobbs <jeffh@ActiveState.com> diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 7e7ddfb..b9c3337 100644 --- a/generic/tclEvent.c +++ b/generic/tclEvent.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclEvent.c,v 1.8.2.3 2001/09/11 01:31:43 hobbs Exp $ + * RCS: @(#) $Id: tclEvent.c,v 1.8.2.4 2001/09/24 17:54:54 andreas_kupries Exp $ */ #include "tclInt.h" @@ -795,15 +795,6 @@ Tcl_Finalize() Tcl_MutexUnlock(&exitMutex); /* - * Clean up the library path now, before we invalidate thread-local - * storage. - */ - if (tsdPtr->tclLibraryPath != NULL) { - Tcl_DecrRefCount(tsdPtr->tclLibraryPath); - tsdPtr->tclLibraryPath = NULL; - } - - /* * Clean up after the current thread now, after exit handlers. * In particular, the testexithandler command sets up something * that writes to standard output, which gets closed. @@ -910,6 +901,16 @@ Tcl_FinalizeThread() TclFinalizeAsync(); /* + * Clean up the library path now, before we invalidate thread-local + * storage. + */ + + if (tsdPtr->tclLibraryPath != NULL) { + Tcl_DecrRefCount(tsdPtr->tclLibraryPath); + tsdPtr->tclLibraryPath = NULL; + } + + /* * Blow away all thread local storage blocks. */ |