diff options
author | ferrieux <ferrieux@users.sourceforge.net> | 2014-09-08 22:50:11 (GMT) |
---|---|---|
committer | ferrieux <ferrieux@users.sourceforge.net> | 2014-09-08 22:50:11 (GMT) |
commit | 04d10eb983cb26686f38383404b6b6ef9876f9e1 (patch) | |
tree | 616341bd368345187974ca138269b0281c8b3b6f /generic/tclThread.c | |
parent | 07be9a8aa0887809dd6d79d2f079fa1d1558790e (diff) | |
download | tcl-04d10eb983cb26686f38383404b6b6ef9876f9e1.zip tcl-04d10eb983cb26686f38383404b6b6ef9876f9e1.tar.gz tcl-04d10eb983cb26686f38383404b6b6ef9876f9e1.tar.bz2 |
Refine TclFinalizeThreadData so that the quick-exit optimization really only affects exit.
Diffstat (limited to 'generic/tclThread.c')
-rw-r--r-- | generic/tclThread.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/generic/tclThread.c b/generic/tclThread.c index 8c972a8..5ac6a8d 100644 --- a/generic/tclThread.c +++ b/generic/tclThread.c @@ -357,7 +357,12 @@ TclFinalizeThreadData(void) { TclFinalizeThreadDataThread(); #if defined(TCL_THREADS) && defined(USE_THREAD_ALLOC) - TclFinalizeThreadAllocThread(); + if ((!TclInExit())||TclFullFinalizationRequested()) { + /* + * Quick exit principle makes it useless to terminate allocators + */ + TclFinalizeThreadAllocThread(); + } #endif } |