Tcl Source Code

View Ticket
Login
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: (text/x-fossil-wiki)
     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