diff options
author | hobbs <hobbs@noemail.net> | 2001-10-03 18:30:45 (GMT) |
---|---|---|
committer | hobbs <hobbs@noemail.net> | 2001-10-03 18:30:45 (GMT) |
commit | e8dfe1bd5608edba29df9573e223fc7f66887441 (patch) | |
tree | d8db64ca0a2f43137ebac6d184ea60d02010f987 | |
parent | 991945061146c12bef85cc7b866e528ff90e25d7 (diff) | |
download | tcl-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.c | 23 |
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. */ |