diff options
author | sebres <sebres@users.sourceforge.net> | 2014-04-22 13:25:41 (GMT) |
---|---|---|
committer | sebres <sebres@users.sourceforge.net> | 2014-04-22 13:25:41 (GMT) |
commit | 192fce9c01c4ee3827aa8f54967764c18bdd5dca (patch) | |
tree | 8c753402e4e14c2e9ce0d04c5bb6ef9ed65b565f /generic/tclThread.c | |
parent | a07adf4d6d28771d9aa74ef06526e5fb3035f5c1 (diff) | |
download | tcl-192fce9c01c4ee3827aa8f54967764c18bdd5dca.zip tcl-192fce9c01c4ee3827aa8f54967764c18bdd5dca.tar.gz tcl-192fce9c01c4ee3827aa8f54967764c18bdd5dca.tar.bz2 |
Memory leak after thread exit, fixed (alloc cache released by exit), belong to ticket [3493120]
Moved over to branch bug-3493120. This is not ready
for the core-8-5-branch. Segfaults all over the place
in a thread-enabled build on a CentOS system.
Diffstat (limited to 'generic/tclThread.c')
-rw-r--r-- | generic/tclThread.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclThread.c b/generic/tclThread.c index 8384107..d6b5bcb 100644 --- a/generic/tclThread.c +++ b/generic/tclThread.c @@ -338,8 +338,9 @@ Tcl_ConditionFinalize( * * TclFinalizeThreadData -- * - * This function cleans up the thread-local storage. This is called once - * for each thread. + * This function cleans up the thread-local storage. Secondary, it cleans + * thread alloc cache. + * This is called once for each thread before thread exits. * * Results: * None. @@ -354,6 +355,9 @@ void TclFinalizeThreadData(void) { TclpFinalizeThreadDataThread(); +#if defined(TCL_THREADS) && defined(USE_THREAD_ALLOC) + TclFinalizeThreadAllocThread(); +#endif } /* |