Prevent occational crash in external tool threads with Sleep(1), especially with LazBuild. Issue #37883, patch from Ivon.

git-svn-id: trunk@64005 -
This commit is contained in:
juha 2020-10-15 00:11:47 +00:00
parent d81e9516c8
commit ad65618c2b

View File

@ -1225,12 +1225,14 @@ end;
procedure TAbstractExternalTool.EnterCriticalSection;
begin
Sleep(1); // Force context switch to prevent occational crash. Issue #36318, #37883 etc.
FWorkerMessages.EnterCriticalSection;
end;
procedure TAbstractExternalTool.LeaveCriticalSection;
begin
Assert(Assigned(FWorkerMessages), 'TAbstractExternalTool.LeaveCriticalSection: FWorkerMessages=Nil.');
Sleep(1);
FWorkerMessages.LeaveCriticalSection;
end;