|
@@ -191,8 +191,11 @@ end;
|
|
|
|
|
|
destructor TThread.Destroy;
|
|
destructor TThread.Destroy;
|
|
begin
|
|
begin
|
|
- if not FExternalThread then
|
|
|
|
|
|
+ if not FExternalThread then begin
|
|
SysDestroy;
|
|
SysDestroy;
|
|
|
|
+ if FHandle <> TThreadID(0) then
|
|
|
|
+ CloseThread(FHandle);
|
|
|
|
+ end;
|
|
RemoveQueuedEvents(Self);
|
|
RemoveQueuedEvents(Self);
|
|
DoneSynchronizeEvent;
|
|
DoneSynchronizeEvent;
|
|
{ set CurrentThreadVar to Nil? }
|
|
{ set CurrentThreadVar to Nil? }
|