diff options
author | hobbs <hobbs@noemail.net> | 2001-09-11 01:31:23 (GMT) |
---|---|---|
committer | hobbs <hobbs@noemail.net> | 2001-09-11 01:31:23 (GMT) |
commit | 5d1dc25f5adab6c8b891650c1137c41812cdfed1 (patch) | |
tree | a81ece0762c4f93f9bf42e6d73dd5422b5743040 /generic | |
parent | 620f90e845f5b30589ddd6d5556d73b33f3fb342 (diff) | |
download | tcl-5d1dc25f5adab6c8b891650c1137c41812cdfed1.zip tcl-5d1dc25f5adab6c8b891650c1137c41812cdfed1.tar.gz tcl-5d1dc25f5adab6c8b891650c1137c41812cdfed1.tar.bz2 |
* generic/tclEvent.c (TclInExit): Corrected handling of tsd in
late stages of finalization. [Bug #419449] (darley)
FossilOrigin-Name: 9af33e089e3cbad8ef3495b26cfaa8143ac93f1a
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclEvent.c | 10 |
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; + } } /* |