blob: 01b90afdc248b80df29f238848546d84de0d0ed1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
(***********************************************************************)
(* *)
(* OCaml *)
(* *)
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
(* *)
(* Copyright 1996 Institut National de Recherche en Informatique et *)
(* en Automatique. All rights reserved. This file is distributed *)
(* under the terms of the Q Public License version 1.0. *)
(* *)
(***********************************************************************)
let main () =
let (rd, wr) = Unix.pipe() in
let t = Thread.create
(fun () ->
Thread.delay 1.0;
print_endline "closing fd...";
Unix.close wr;
)
() in
let buf = String.create 10 in
print_endline "reading...";
begin try ignore (Unix.read rd buf 0 10) with Unix.Unix_error _ -> () end;
print_endline "read returned";
t
let t = Unix.handle_unix_error main ()
let _ = Thread.join t
|