소스 검색

* Prevent file descriptor leaks

Michaël Van Canneyt 1 년 전
부모
커밋
409abb8a43
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  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;