diff, prevent zombie proc + leak

This commit is contained in:
Basile Burg 2017-03-05 10:03:44 +01:00
parent e7ca586d77
commit 40505e9a58
No known key found for this signature in database
GPG Key ID: 1868039F415CB8CF
1 changed files with 27 additions and 20 deletions

View File

@ -35,6 +35,7 @@ begin
inherited create(nil); inherited create(nil);
p := TProcess.Create(self); p := TProcess.Create(self);
try
p.Executable:= 'diff' + exeExt; p.Executable:= 'diff' + exeExt;
lbl.Caption:= 'The file: "' + fname2 + '" has been modified by another program.' lbl.Caption:= 'The file: "' + fname2 + '" has been modified by another program.'
@ -57,8 +58,14 @@ begin
finally finally
r.Free; r.Free;
end; end;
while p.Running do
sleep(1);
end end
else editor.Lines.Add('(The "diff" tool cannot be found)'); else editor.Lines.Add('(The "diff" tool cannot be found)');
finally
p.Free;
end
end; end;
end. end.