summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhobbs <hobbs>2001-09-11 01:31:43 (GMT)
committerhobbs <hobbs>2001-09-11 01:31:43 (GMT)
commit39338c0ce847fc4313b437fd8db57765804496d7 (patch)
tree0e863b29799828906eb1ee4435251b40bcaa85b9
parent1a92eb4faf5782a882d5e0a1da07ec042db62bb4 (diff)
downloadtcl-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--ChangeLog3
-rw-r--r--generic/tclEvent.c10
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 8f2ed49..f6787f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
+ }
}
/*