Fixed hanging bug of non flushing agents

This commit is contained in:
Pascal Brisset
2008-03-01 15:08:41 +00:00
parent 6d353b49cc
commit 238f3f0aa2
+6 -9
View File
@@ -46,15 +46,12 @@ let run_and_log = fun log com ->
let cb = fun ev -> let cb = fun ev ->
if List.mem `IN ev then begin if List.mem `IN ev then begin
let buf = String.create buf_size in let buf = String.create buf_size in
let rec loop = fun () -> let n = input com_stdout buf 0 buf_size in
let n = input com_stdout buf 0 buf_size in if n < buf_size then
if n < buf_size then log (String.sub buf 0 n)
log (String.sub buf 0 n) else begin
else begin log buf;
log buf; end;
loop ()
end in
loop ();
true true
end else begin end else begin
log (sprintf "\nDONE (%s)\n\n" com); log (sprintf "\nDONE (%s)\n\n" com);