From bb93c0bc5c4d8116d1c04051c5f999615b5f06ff Mon Sep 17 00:00:00 2001 From: andreas_kupries Date: Mon, 24 Sep 2001 17:50:52 +0000 Subject: * The change below fixes [Bug #464380]. The bug was reported by Ronnie Brunner . 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'. --- ChangeLog | 31 +++++++++++++++++++++---------- generic/tclEvent.c | 21 +++++++++++---------- 2 files changed, 32 insertions(+), 20 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5c5ff0a..0a1fbc2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,16 +1,27 @@ +2001-09-24 Andreas Kupries + + * The change below fixes [Bug #464380]. The bug was reported by + Ronnie Brunner . 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-24 Donal K. Fellows * tools/encoding/cp1252.txt: File was missing part of the encoding - [euro, ZCaron and zcaron]. + [euro, ZCaron and zcaron]. * doc/OpenFileChnl.3: Add docs for Tcl_OutputBuffered; remove some - old changebars. + old changebars. 2001-09-21 Jeff Hobbs * generic/tclExecute.c (TclExecuteByteCode): corrected - INST_STR_CMP else case for strings to pass true utf char length to - Tcl_UtfNCmp. + INST_STR_CMP else case for strings to pass true utf char length + to Tcl_UtfNCmp. 2001-09-20 Jeff Hobbs @@ -19,22 +30,22 @@ * 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-20 Donal K. Fellows * tests/socket.test: removed dependence on being run from same dir - as remote.tcl, which only now needs to be in the same dir as this - file. [Bug #219326] + as remote.tcl, which only now needs to be in the same dir as + this file. [Bug #219326] 2001-09-19 Jeff Hobbs * 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 diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 5b9250e..54516e7 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.13 2001/09/11 01:31:24 hobbs Exp $ + * RCS: @(#) $Id: tclEvent.c,v 1.14 2001/09/24 17:50:53 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. */ -- cgit v0.12