summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhobbs <hobbs@noemail.net>2001-10-03 18:30:45 (GMT)
committerhobbs <hobbs@noemail.net>2001-10-03 18:30:45 (GMT)
commite8dfe1bd5608edba29df9573e223fc7f66887441 (patch)
treed8db64ca0a2f43137ebac6d184ea60d02010f987
parent991945061146c12bef85cc7b866e528ff90e25d7 (diff)
downloadtcl-e8dfe1bd5608edba29df9573e223fc7f66887441.zip
tcl-e8dfe1bd5608edba29df9573e223fc7f66887441.tar.gz
tcl-e8dfe1bd5608edba29df9573e223fc7f66887441.tar.bz2
* generic/tclEvent.c (Tcl_FinalizeThread): moved freeing of
tclLibraryPath to before the thread exit handlers are called. Slight modification to change on 2001-09-24. FossilOrigin-Name: 0d83ed6db45ebc835fafe6e84b7a63791eea98e8
-rw-r--r--generic/tclEvent.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c
index b9c3337..144f5c7 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.4 2001/09/24 17:54:54 andreas_kupries Exp $
+ * RCS: @(#) $Id: tclEvent.c,v 1.8.2.5 2001/10/03 18:30:45 hobbs Exp $
*/
#include "tclInt.h"
@@ -884,6 +884,17 @@ Tcl_FinalizeThread()
*/
tsdPtr->inExit = 1;
+
+ /*
+ * Clean up the library path now, before we invalidate thread-local
+ * storage or calling thread exit handlers.
+ */
+
+ if (tsdPtr->tclLibraryPath != NULL) {
+ Tcl_DecrRefCount(tsdPtr->tclLibraryPath);
+ tsdPtr->tclLibraryPath = NULL;
+ }
+
for (exitPtr = tsdPtr->firstExitPtr; exitPtr != NULL;
exitPtr = tsdPtr->firstExitPtr) {
/*
@@ -901,16 +912,6 @@ 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.
*/