mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-20 13:19:21 +02:00
FpDebug: WorkerQueue, protect with try finally
git-svn-id: trunk@63834 -
This commit is contained in:
parent
b2b157269c
commit
c15f2179e9
@ -420,9 +420,11 @@ begin
|
||||
|
||||
if (OldState in [TWSTATE_NEW, TWSTATE_WAIT_WORKER]) then begin
|
||||
(* State is now either TWSTATE_RUNNING or TWSTATE_WAIT_WORKER *)
|
||||
try
|
||||
if not StopRequested then
|
||||
DoExecute;
|
||||
|
||||
finally
|
||||
OldState := InterLockedExchange(FState, TWSTATE_DONE);
|
||||
if (OldState in [TWSTATE_WAITING, TWSTATE_WAIT_WORKER, TWSTATE_CANCEL]) then
|
||||
RTLeventSetEvent(MyWorkerThread.Queue.MainWaitEvent)
|
||||
@ -432,6 +434,7 @@ begin
|
||||
WriteBarrier;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFpThreadWorkerItem.WaitForFinish(AnMainWaitEvent: PRTLEvent;
|
||||
AWaitForExecInThread: Boolean);
|
||||
|
Loading…
Reference in New Issue
Block a user