Tcl Source Code

View Ticket
Login
Ticket UUID: 419683
Title: TclpFinalizeCondition needs work on win
Type: Bug Version: obsolete: 8.4a3
Submitter: davygrvy Created on: 2001-04-28 01:24:47
Subsystem: 49. Threading Assigned To: hobbs
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2001-08-07 06:36:38
Resolution: Fixed Closed By: hobbs
    Closed on: 2001-08-06 23:36:38
Description:
The thread extension calls Tcl_ConditionWait in 
ThreadCreate which creates a WinCondition structure 
and pre-inits it's usage.  After the condition 
variable is used, it's removed with 
Tcl_ConditionFinalize.

But Tcl_ConditionFinalize only ckfree's the structure, 
not the contents.  This leaves one undestroyed 
CriticalSection and maybe an event, too.  I'm not sure 
yet.

I'll post a follow-up about this.
User Comments: hobbs added on 2001-08-07 06:36:38:
Logged In: YES 
user_id=72656

This passed all tests and makes sense, so I've applied it 
to 8.4a3 cvs.

davygrvy added on 2001-05-18 07:37:13:
Logged In: YES 
user_id=7549

Jeff,

Should this get moved over to the patches list for approval?

davygrvy added on 2001-04-28 10:14:00:
Logged In: YES 
user_id=7549

I'm happy with this patch.  Can I apply it to the core?

davygrvy added on 2001-04-28 10:00:16:
Logged In: YES 
user_id=7549

This bug relates to 
https://sourceforge.net/tracker/index.php?
func=detail&aid=406058&group_id=10894&atid=110894 as well.

davygrvy added on 2001-04-28 09:40:01:

File Added - 5803: patch.txt

davygrvy added on 2001-04-28 09:40:00:
Logged In: YES 
user_id=7549

This seems to fix it.  I can start and stop threads and the 
application handle count stays steady without growing.

In Tcl_CreateThread, I added a CloseHandle to decrement the 
reference count, so when the thread closes, the resources 
for that handle are reclaimed.

I also added a DeleteCriticalSection for the WinCondition 
structure removed by TclpFinalizeCondition.

Attachments: