mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-19 01:09:13 +02:00
+ Applied FreeStreams fix from Mattias Gaertner
This commit is contained in:
parent
d523c74b01
commit
708a10065a
@ -254,13 +254,31 @@ end;
|
|||||||
|
|
||||||
Procedure TProcess.FreeStreams;
|
Procedure TProcess.FreeStreams;
|
||||||
|
|
||||||
|
var FreedStreams: TList;
|
||||||
|
|
||||||
|
procedure FreeStream(var AnObject: TObject);
|
||||||
|
|
||||||
|
begin
|
||||||
|
if FreedStreams.IndexOf(AnObject)<0 then
|
||||||
|
begin
|
||||||
|
FreedStreams.Add(AnObject);
|
||||||
|
AnObject.Free;
|
||||||
|
end;
|
||||||
|
AnObject:=nil;
|
||||||
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
FParentErrorStream.Free;
|
FreedStreams:=TList.Create;
|
||||||
FParentInputSTream.Free;
|
try
|
||||||
FParentOutputStream.Free;
|
FreeStream(FParentErrorStream);
|
||||||
FChildErrorStream.free;
|
FreeStream(FParentInputStream);
|
||||||
FChildInputSTream.Free;
|
FreeStream(FParentOutputStream);
|
||||||
FChildOutPutStream.Free;
|
FreeStream(FChildErrorStream);
|
||||||
|
FreeStream(FChildInputStream);
|
||||||
|
FreeStream(FChildOutputStream);
|
||||||
|
finally
|
||||||
|
FreedStreams.Free;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function TProcess.GetExitStatus : Integer;
|
Function TProcess.GetExitStatus : Integer;
|
||||||
@ -899,7 +917,10 @@ end;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.11 2001-12-15 19:53:37 michael
|
Revision 1.12 2001-12-15 20:01:16 michael
|
||||||
|
+ Applied FreeStreams fix from Mattias Gaertner
|
||||||
|
|
||||||
|
Revision 1.11 2001/12/15 19:53:37 michael
|
||||||
+ Removed DWord and THandle
|
+ Removed DWord and THandle
|
||||||
|
|
||||||
Revision 1.10 2001/12/14 07:53:32 michael
|
Revision 1.10 2001/12/14 07:53:32 michael
|
||||||
|
Loading…
Reference in New Issue
Block a user