Tcl Source Code

View Ticket
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.
Ticket UUID: bb9129e46c99f405fbc6bbd9261726c05a2ffb2e
Title: TCL Memory raise up and didn't come down for ever
Type: Bug Version: 8.6.8
Submitter: luguanhui Created on: 2018-06-04 11:37:16
Subsystem: - New Builtin Commands Assigned To: nobody
Priority: 5 Medium Severity: Minor
Status: Open Last Modified: 2018-06-04 11:37:16
Resolution: None Closed By: nobody
    Closed on:
Description:

Recentely,I build a c++ program with the TCL Interpreter,and spawn 20 threads .In each thread,I write the flowing code in loop : 1.new a TCL Interpreter 2.execute lots of TCL script 3.delete the interpreter 4.call Tcl_FinalizeThread to free the memory After execute the code.the memory is raise up and didn't come down for ever.And the I check the code of TCL8.6.8 ,I found that TCL have two type of memory management´╝ÜThread Local Storage memory and shared memory.After Tcl_FinalizeThread is call ,the TLS memroy will transfer to shared memory.and shareed will not free for ever ,and this will lead to TCL Memory raise up and didn't come down for ever My question is : 1.why TCL didn't free the shared memeory for ever 2.Does TCL provide any way to free the share memory