caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Unix.create_process vs Unix.open_process_out
@ 2008-04-14 12:43 James Jones
  2008-04-14 13:20 ` [Caml-list] " Johann Spies
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: James Jones @ 2008-04-14 12:43 UTC (permalink / raw)
  To: caml-list

[-- Attachment #1: Type: text/plain, Size: 566 bytes --]

Consider the following two functions:

let test1 () =
  let w = Unix.open_process_out "cat" in
  assert (Unix.close_process_out w = Unix.WEXITED 0)

let test2 () =
  let r,w = Unix.pipe () in
  let pid = Unix.create_process "cat" [| "cat" |] r Unix.stdout 
Unix.stderr in
  Unix.close w;
  assert (snd (Unix.waitpid [] pid) = Unix.WEXITED 0)


Both execute "cat" and then close its stdin immediately. This should cause 
cat to terminate. In test1 this works as expected but in test2, cat keeps 
running forever. Is this the expected behavior of Unix.create_process?

[-- Attachment #2: Type: text/html, Size: 1257 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-04-14 13:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-14 12:43 Unix.create_process vs Unix.open_process_out James Jones
2008-04-14 13:20 ` [Caml-list] " Johann Spies
2008-04-14 13:32 ` Gerd Stolpmann
2008-04-14 13:36 ` Gerd Stolpmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).