diff options
author | hobbs <hobbs> | 2001-09-11 01:31:43 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 2001-09-11 01:31:43 (GMT) |
commit | 39338c0ce847fc4313b437fd8db57765804496d7 (patch) | |
tree | 0e863b29799828906eb1ee4435251b40bcaa85b9 | |
parent | 1a92eb4faf5782a882d5e0a1da07ec042db62bb4 (diff) | |
download | tcl-39338c0ce847fc4313b437fd8db57765804496d7.zip tcl-39338c0ce847fc4313b437fd8db57765804496d7.tar.gz tcl-39338c0ce847fc4313b437fd8db57765804496d7.tar.bz2 |
* generic/tclEvent.c (TclInExit): Corrected handling of tsd in
late stages of finalization. [Bug #419449] (darley)
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | generic/tclEvent.c | 10 |
2 files changed, 10 insertions, 3 deletions
@@ -1,5 +1,8 @@ 2001-09-10 Jeff Hobbs <jeffh@ActiveState.com> + * generic/tclEvent.c (TclInExit): Corrected handling of tsd in + late stages of finalization. [Bug #419449] (darley) + * tests/stack.test: * generic/tclInterp.c (AliasObjCmd): Check the numLevels to ensure that we aren't hitting some alias loop condition. [Bug #443184] diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 00544e6..7e7ddfb 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.2 2001/09/01 23:06:28 davygrvy Exp $ + * RCS: @(#) $Id: tclEvent.c,v 1.8.2.3 2001/09/11 01:31:43 hobbs Exp $ */ #include "tclInt.h" @@ -936,8 +936,12 @@ Tcl_FinalizeThread() int TclInExit() { - ThreadSpecificData *tsdPtr = TCL_TSD_INIT(&dataKey); - return tsdPtr->inExit; + ThreadSpecificData *tsdPtr = TclThreadDataKeyGet(&dataKey); + if (tsdPtr == NULL) { + return inFinalize; + } else { + return tsdPtr->inExit; + } } /* |