diff options
author | Nicolas Pouillard <np@nicolaspouillard.fr> | 2008-07-31 07:36:12 +0000 |
---|---|---|
committer | Nicolas Pouillard <np@nicolaspouillard.fr> | 2008-07-31 07:36:12 +0000 |
commit | f6bd5658e260e2c55d81a022005c763e67cd5cbb (patch) | |
tree | 5715cd69d366970f08694d6467e0b6fd2ceed62a | |
parent | 50da157513db30f452ac4d6c5bc01ea250337a17 (diff) |
ocamlbuild: fix a double "close" problem (PR#4380)
Thanks to mwipliez for spotting this double close, to jld for providing a
patch.
Author: Nicolas Pouillard <nicolas.pouillard@gmail.com>
Committer: Nicolas Pouillard <ertai@port-ext16.ensta.fr>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8960 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r-- | ocamlbuild/ocamlbuild_unix_plugin.ml | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ocamlbuild/ocamlbuild_unix_plugin.ml b/ocamlbuild/ocamlbuild_unix_plugin.ml index d0dfd8dee..cffdb2337 100644 --- a/ocamlbuild/ocamlbuild_unix_plugin.ml +++ b/ocamlbuild/ocamlbuild_unix_plugin.ml @@ -52,9 +52,10 @@ let run_and_open s kont = | Unix.WEXITED 0 -> () | Unix.WEXITED _ | Unix.WSIGNALED _ | Unix.WSTOPPED _ -> failwith (Printf.sprintf "Error while running: %s" s) in - try - let res = kont ic in close (); res - with e -> (close (); raise e) + let res = try + kont ic + with e -> (close (); raise e) + in close (); res let stdout_isatty () = Unix.isatty Unix.stdout |