Quellcode durchsuchen

* Prevent file descriptor leaks

Michaël Van Canneyt vor 1 Jahr
Ursprung
Commit
409abb8a43
1 geänderte Dateien mit 4 neuen und 0 gelöschten Zeilen
  1. 4 0
      packages/fcl-process/src/processbody.inc

+ 4 - 0
packages/fcl-process/src/processbody.inc

@@ -1069,7 +1069,10 @@ begin
   H:=ResolveProcessHandle;
   // Writeln(StdErr,GetProcessID,' : ',ProcessHandleType,' closing their handle ',IOType,': ',H);
   if H<>THandle(INVALID_HANDLE_VALUE) then
+    begin
     FileClose(H);
+    FTheirHandle:=THandle(INVALID_HANDLE_VALUE);
+    end;
 end;
 
 procedure TIODescriptor.PrepareHandles;
@@ -1133,6 +1136,7 @@ end;
 destructor TIODescriptor.Destroy;
 begin
   FreeAndNil(FStream);
+  ResetHandles;
   inherited Destroy;
 end;