summaryrefslogtreecommitdiffstats
path: root/generic
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 /generic
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)
Diffstat (limited to 'generic')
-rw-r--r--generic/tclEvent.c10
1 files changed, 7 insertions, 3 deletions
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;
+ }
}
/*