summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhobbs <hobbs>2001-09-11 01:31:24 (GMT)
committerhobbs <hobbs>2001-09-11 01:31:24 (GMT)
commit3a14976bfce04c12422b711c208c49585f6a28ec (patch)
treea81ece0762c4f93f9bf42e6d73dd5422b5743040
parent2d6d1c0b8b709857509a6107d227c5d3764a0104 (diff)
downloadtcl-3a14976bfce04c12422b711c208c49585f6a28ec.zip
tcl-3a14976bfce04c12422b711c208c49585f6a28ec.tar.gz
tcl-3a14976bfce04c12422b711c208c49585f6a28ec.tar.bz2
* generic/tclEvent.c (TclInExit): Corrected handling of tsd in
late stages of finalization. [Bug #419449] (darley)
-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;
+ }
}
/*