summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--generic/tclEvent.c10
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 <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]
+
2001-09-10 Mo DeJong <mdejong@users.sourceforge.net>
* 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;
+ }
}
/*