diff options
| -rw-r--r-- | generic/tclEvent.c | 24 | 
1 files changed, 13 insertions, 11 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 941d566..ab219a6 100644 --- a/generic/tclEvent.c +++ b/generic/tclEvent.c @@ -1299,18 +1299,20 @@ Tcl_FinalizeThread(void)  	TclFinalizeAsync();  	TclFinalizeThreadObjects();      } +    if (TclFullFinalizationRequested()) { /* useless if we are facing a quick-exit */ -    /* -     * Blow away all thread local storage blocks. -     * -     * Note that Tcl API allows creation of threads which do not use any Tcl -     * interp or other Tcl subsytems. Those threads might, however, use thread -     * local storage, so we must unconditionally finalize it. -     * -     * Fix [Bug #571002] -     */ - -    TclFinalizeThreadData(); +	/* +	 * Blow away all thread local storage blocks. +	 * +	 * Note that Tcl API allows creation of threads which do not use any Tcl +	 * interp or other Tcl subsytems. Those threads might, however, use thread +	 * local storage, so we must unconditionally finalize it. +	 * +	 * Fix [Bug #571002] +	 */ +	 +	TclFinalizeThreadData(); +    }  }  /*  | 
