mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-12 12:29:17 +02:00
Merged revisions 3519 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk r3519 (florian) * fixed leaking of TThread git-svn-id: branches/fixes_2_0@3521 -
This commit is contained in:
parent
8dcba495f4
commit
f5b758aa35
@ -176,7 +176,8 @@ begin
|
||||
LThread.Free;
|
||||
WRITE_DEBUG('Thread freed');
|
||||
end;
|
||||
WRITE_DEBUG('thread func exiting');
|
||||
WRITE_DEBUG('thread func calling EndThread');
|
||||
EndThread(Result);
|
||||
end;
|
||||
|
||||
{ TThread }
|
||||
|
@ -181,7 +181,8 @@ begin
|
||||
LThread.Free;
|
||||
WRITE_DEBUG('Thread freed');
|
||||
end;
|
||||
WRITE_DEBUG('thread func exiting');
|
||||
WRITE_DEBUG('thread func calling EndThread');
|
||||
EndThread(Result);
|
||||
end;
|
||||
|
||||
{ TThread }
|
||||
|
@ -181,7 +181,8 @@ begin
|
||||
LThread.Free;
|
||||
WRITE_DEBUG('Thread freed');
|
||||
end;
|
||||
WRITE_DEBUG('thread func exiting');
|
||||
WRITE_DEBUG('thread func calling EndThread');
|
||||
EndThread(Result);
|
||||
end;
|
||||
|
||||
{ TThread }
|
||||
|
@ -91,26 +91,6 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function ThreadProc(Args: pointer): Integer; cdecl;
|
||||
var
|
||||
FreeThread: Boolean;
|
||||
Thread: TThread absolute Args;
|
||||
begin
|
||||
try
|
||||
Thread.Execute;
|
||||
except
|
||||
Thread.FFatalException := TObject(AcquireExceptionObject);
|
||||
end;
|
||||
FreeThread := Thread.FFreeOnTerminate;
|
||||
Result := Thread.FReturnValue;
|
||||
Thread.FFinished := True;
|
||||
Thread.DoTerminate;
|
||||
if FreeThread then Thread.Free;
|
||||
{
|
||||
DosExit (deThread, Result);
|
||||
}
|
||||
end;
|
||||
|
||||
constructor TThread.Create(CreateSuspended: Boolean;
|
||||
const StackSize: SizeUInt = DefaultStackSize);
|
||||
var
|
||||
|
@ -172,7 +172,8 @@ begin
|
||||
LThread.Free;
|
||||
WRITE_DEBUG('Thread freed');
|
||||
end;
|
||||
WRITE_DEBUG('thread func exiting');
|
||||
WRITE_DEBUG('thread func calling EndThread');
|
||||
EndThread(Result);
|
||||
end;
|
||||
|
||||
{ TThread }
|
||||
|
@ -125,30 +125,6 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
{ TThread }
|
||||
function ThreadProc(args:pointer): Integer;
|
||||
var
|
||||
FreeThread: Boolean;
|
||||
Thread : TThread absolute args;
|
||||
begin
|
||||
try
|
||||
Thread.Execute;
|
||||
except
|
||||
Thread.FFatalException := TObject(AcquireExceptionObject);
|
||||
end;
|
||||
FreeThread := Thread.FFreeOnTerminate;
|
||||
ThreadProc := Thread.FReturnValue;
|
||||
Thread.FFinished := True;
|
||||
Thread.DoTerminate;
|
||||
if FreeThread then
|
||||
begin
|
||||
Thread.Destroy;
|
||||
Thread.Free;
|
||||
end;
|
||||
EndThread(Result);
|
||||
end;
|
||||
|
||||
|
||||
constructor TThread.Create(CreateSuspended: Boolean;
|
||||
const StackSize: SizeUInt = DefaultStackSize);
|
||||
var
|
||||
|
@ -247,7 +247,8 @@ begin
|
||||
LThread.Free;
|
||||
WRITE_DEBUG('Thread freed'#13#10);
|
||||
end;
|
||||
WRITE_DEBUG('thread func exiting'#13#10);
|
||||
WRITE_DEBUG('thread func calling EndThread'#13#10);
|
||||
EndThread(Result);
|
||||
end;
|
||||
|
||||
{ TThread }
|
||||
|
@ -182,7 +182,8 @@ begin
|
||||
LThread.Free;
|
||||
WRITE_DEBUG('Thread freed');
|
||||
end;
|
||||
WRITE_DEBUG('thread func exiting');
|
||||
WRITE_DEBUG('thread func calling EndThread');
|
||||
EndThread(Result);
|
||||
end;
|
||||
|
||||
{ TThread }
|
||||
|
@ -155,24 +155,6 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
function ThreadProc(Args: pointer): Integer; cdecl;
|
||||
var
|
||||
FreeThread: Boolean;
|
||||
Thread: TThread absolute Args;
|
||||
begin
|
||||
try
|
||||
Thread.Execute;
|
||||
except
|
||||
Thread.FFatalException := TObject(AcquireExceptionObject);
|
||||
end;
|
||||
FreeThread := Thread.FFreeOnTerminate;
|
||||
Result := Thread.FReturnValue;
|
||||
Thread.FFinished := True;
|
||||
Thread.DoTerminate;
|
||||
if FreeThread then Thread.Free;
|
||||
DosExit (deThread, Result);
|
||||
end;
|
||||
|
||||
constructor TThread.Create(CreateSuspended: Boolean;
|
||||
const StackSize: SizeUInt = DefaultStackSize);
|
||||
var
|
||||
|
@ -97,23 +97,6 @@ end;
|
||||
|
||||
{ TThread }
|
||||
|
||||
function ThreadProc(ThreadObjPtr: Pointer): Integer;
|
||||
var
|
||||
FreeThread: Boolean;
|
||||
Thread: TThread absolute ThreadObjPtr;
|
||||
begin
|
||||
try
|
||||
Thread.Execute;
|
||||
except
|
||||
Thread.FFatalException := TObject(AcquireExceptionObject);
|
||||
end;
|
||||
FreeThread := Thread.FFreeOnTerminate;
|
||||
Result := Thread.FReturnValue;
|
||||
Thread.FFinished := True;
|
||||
Thread.DoTerminate;
|
||||
if FreeThread then Thread.Free;
|
||||
end;
|
||||
|
||||
constructor TThread.Create(CreateSuspended: Boolean;
|
||||
const StackSize: SizeUInt = DefaultStackSize);
|
||||
var
|
||||
|
Loading…
Reference in New Issue
Block a user