diff options
author | hypnotoad <yoda@etoyoc.com> | 2014-09-02 20:16:54 (GMT) |
---|---|---|
committer | hypnotoad <yoda@etoyoc.com> | 2014-09-02 20:16:54 (GMT) |
commit | 808f6393f3fb23ef36d65ffc99a721c5310d8a3d (patch) | |
tree | 5d60e6d79139791fc44f42e39b2a62956f2a1ea8 | |
parent | c1d5f51fa5956bf12d884ace6301fdef5c12cd39 (diff) | |
download | tcl-808f6393f3fb23ef36d65ffc99a721c5310d8a3d.zip tcl-808f6393f3fb23ef36d65ffc99a721c5310d8a3d.tar.gz tcl-808f6393f3fb23ef36d65ffc99a721c5310d8a3d.tar.bz2 |
Added a hac^H^H^Hpatch from ferrieux to mask around the exit hang on windows until
the issues are fixed at the core level.
-rw-r--r-- | generic/tclEvent.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 941d566..3bb6c62 100644 --- a/generic/tclEvent.c +++ b/generic/tclEvent.c @@ -1299,18 +1299,19 @@ Tcl_FinalizeThread(void) TclFinalizeAsync(); TclFinalizeThreadObjects(); } - - /* - * 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(); + if (!TclInExit()) { + /* + * 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(); + } } /* |