- priority: 5 --> 2
- status: open --> closed-fixed
OriginalBugID: 3877 Bug
Version: 8.3b1
SubmitDate: '1999-12-14'
LastModified: '2000-04-25'
Severity: CRIT
Status: Closed
Submitter: techsupp
ChangedBy: hobbs
RelatedBugIDs: 3904
OS: Windows 2000
OSVersion: build 2128
FixedDate: '2000-10-25'
ClosedDate: '2000-04-25'
Name:
David Gravereaux
CVS:
I updated on Saturday
CustomShell:
tclAsync.c fixes in progress.
ReproducibleScript:
% testthread create {
load "d:/projects/ghe_cvs/ghe/ghe_dirwatch/debug/ghe_dirwatch.dll"
GHE::startwatch c:/temp {gotcha [testthread id]}
proc gotcha {id} {
puts "c:/temp has been written to and yielded notifier thread $id"
}
testthread wait
}
1344
% testthread send 1344 {testthread exit}
target thread died
%
ObservedBehavior:
Now that I got Tcl_AsyncDelete to be using a TSD, that extension's exit handler is being invoved from the main thread rather than the origin thread that called Tcl_CreateExitHandler. This is now pulling up the wrong TSD and crashing.
The proper call to use is Tcl_CreateThreadExitHandler instead of
Tcl_CreateExitHandler, but if Tcl_CreateThreadExitHandler is used
within the main thread, Tcl_Finalize doesn't call it.
-- 04/25/2000 hobbs