summaryrefslogtreecommitdiffstats
path: root/generic/tclThread.c
diff options
context:
space:
mode:
authordgp <dgp@noemail.net>2014-04-24 04:34:01 (GMT)
committerdgp <dgp@noemail.net>2014-04-24 04:34:01 (GMT)
commit38c9f8b92fc762bafdb22ff940f2de73b05da7f2 (patch)
tree8dfe5788ac3186ac5f7be83325b74d9a3d6c2050 /generic/tclThread.c
parent49097e62ea808db6af0efee77d0b6ed3ce36081f (diff)
parent22bec1234fff4866a43e245228d72552a6d67f86 (diff)
downloadtcl-38c9f8b92fc762bafdb22ff940f2de73b05da7f2.zip
tcl-38c9f8b92fc762bafdb22ff940f2de73b05da7f2.tar.gz
tcl-38c9f8b92fc762bafdb22ff940f2de73b05da7f2.tar.bz2
[3493120] Plug memory leak in thread exit.
FossilOrigin-Name: 6b5f70a82fa90b344946679e530d728a6a99f5ff
Diffstat (limited to 'generic/tclThread.c')
-rw-r--r--generic/tclThread.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclThread.c b/generic/tclThread.c
index d1f2691..8c972a8 100644
--- a/generic/tclThread.c
+++ b/generic/tclThread.c
@@ -339,8 +339,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.
@@ -355,6 +356,9 @@ void
TclFinalizeThreadData(void)
{
TclFinalizeThreadDataThread();
+#if defined(TCL_THREADS) && defined(USE_THREAD_ALLOC)
+ TclFinalizeThreadAllocThread();
+#endif
}
/*