Signed-off-by: David Scott <dave.scott@eu.citrix.com>
close_fds
-let execute_command_get_output cmd args =
+let execute_command_get_output ?env cmd args =
match with_logfile_fd "execute_command_get_out" (fun out_fd ->
with_logfile_fd "execute_command_get_err" (fun err_fd ->
- let (sock,pid) = safe_close_and_exec None (Some out_fd) (Some err_fd) [] cmd args in
+ let (sock,pid) = safe_close_and_exec ?env None (Some out_fd) (Some err_fd) [] cmd args in
match Fecomms.read_raw_rpc sock with
| Fe.Finished x -> Unix.close sock; x
| _ -> Unix.close sock; failwith "Communications error"
(** [execute_command_get_output cmd args] runs [cmd args] and returns (stdout, stderr)
on success (exit 0). On failure this raises [Spawn_internal_error(stderr, stdout, Unix.process_status)]
*)
-val execute_command_get_output : string -> string list -> string * string
+val execute_command_get_output : ?env:string array -> string -> string list -> string * string
(** Thrown by [execute_command_get_output] if the subprocess exits with a non-zero exit code *)
exception Spawn_internal_error of string * string * Unix.process_status