From 3a14976bfce04c12422b711c208c49585f6a28ec Mon Sep 17 00:00:00 2001 From: hobbs Date: Tue, 11 Sep 2001 01:31:24 +0000 Subject: * generic/tclEvent.c (TclInExit): Corrected handling of tsd in late stages of finalization. [Bug #419449] (darley) --- ChangeLog | 9 +++++++++ generic/tclEvent.c | 10 +++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index a41eb9a..57590af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2001-09-10 Jeff Hobbs + + * 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] + 2001-09-10 Mo DeJong * unix/configure: Regen. diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 4d2337e..5b9250e 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.12 2001/08/30 07:50:18 davygrvy Exp $ + * RCS: @(#) $Id: tclEvent.c,v 1.13 2001/09/11 01:31:24 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; + } } /* -- cgit v0.12