mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-20 09:39:13 +02:00
LazDebuggerFpLLDB: load dwarf info in thread / simplify clean up
git-svn-id: trunk@59824 -
This commit is contained in:
parent
8965b70a28
commit
e72387cbeb
@ -315,6 +315,9 @@ begin
|
||||
|
||||
FDwarfInfo := TFpDwarfInfo.Create(FImageLoaderList);
|
||||
FDwarfInfo.MemManager := FMemManager;
|
||||
if Terminated then
|
||||
exit;
|
||||
|
||||
FDwarfInfo.LoadCompilationUnits;
|
||||
debugln(DBG_VERBOSE, ['finish THREAD TFpLldbDebugger.LoadDwarf ']);
|
||||
end;
|
||||
@ -1099,16 +1102,10 @@ begin
|
||||
|
||||
if FDwarfLoaderThread <> nil then begin
|
||||
debugln(DBG_VERBOSE, ['Terminate FDwarfLoaderThread ']);
|
||||
FDwarfLoaderThread.Suspend;
|
||||
if FDwarfLoaderThread.Finished then begin
|
||||
FDwarfLoaderThread.FreeDwarf;
|
||||
FDwarfLoaderThread.Free
|
||||
end else begin
|
||||
FDwarfLoaderThread.FreeOnTerminate := True;
|
||||
FDwarfLoaderThread.Terminate;
|
||||
FDwarfLoaderThread.Resume;
|
||||
end;
|
||||
FDwarfLoaderThread := nil;
|
||||
FDwarfLoaderThread.Terminate;
|
||||
FDwarfLoaderThread.WaitFor; // This may take a while, but normally the thread should never exist in UnLoadDwarf
|
||||
FDwarfLoaderThread.FreeDwarf;
|
||||
FreeAndNil(FDwarfLoaderThread);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user