瀏覽代碼

Use Florian's suggestion to avoid IOStatus 5 errors in ExecuteProcess using process unit

git-svn-id: trunk@32975 -
pierre 9 年之前
父節點
當前提交
7f0b676af1
共有 1 個文件被更改,包括 7 次插入1 次删除
  1. 7 1
      tests/utils/redir.pp

+ 7 - 1
tests/utils/redir.pp

@@ -1084,7 +1084,6 @@ var
 
 begin
   result := -1;
-  counter:=0;
   TerminateSentCount:=0;
 
   P := TProcess.Create(nil);
@@ -1094,6 +1093,13 @@ begin
     P.InheritHandles:=(execinheritshandles in flags);
 
     P.Execute;
+{$ifdef Windows}
+    WaitForSingleObject(P.ProcessHandle,max_count);
+    counter:=max_count;
+{$else not Windows}
+    counter:=0;
+{$endif not Windows}
+
     while P.Running do
       begin
         if counter>max_count then