X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=utils%2Falarm.ml;h=0eeb82331fadce33a792345c89a1f14ed94d93a1;hb=ee6e511d28e2b47d2764cf2cf98869c93d94df2a;hp=06a4913c6118dd329a8a9b3d5ce9f0178d410853;hpb=a2080d362a3efaa221c72fd1deae48e966c49c98;p=SXSI%2Fxpathcomp.git diff --git a/utils/alarm.ml b/utils/alarm.ml index 06a4913..0eeb823 100644 --- a/utils/alarm.ml +++ b/utils/alarm.ml @@ -29,19 +29,20 @@ module Options = loop 0 (Array.length a) let parse_cmdline () = - let idash = find_dash Sys.argv in - let argv = Array.sub Sys.argv 0 idash in - let cmd = Array.sub Sys.argv (idash+1) (Array.length Sys.argv - idash - 1) in - let () = - try + try + let idash = find_dash Sys.argv in + let argv = Array.sub Sys.argv 0 idash in + let cmd = Array.sub Sys.argv (idash+1) (Array.length Sys.argv - idash - 1) in + let () = Arg.parse_argv argv spec ignore usage_msg - with - Arg.Bad(s) -> Printf.eprintf "%s\n" s; exit 1 - | Arg.Help(s) -> Printf.printf "%s\n" s; exit 0 - | Not_found -> Arg.usage spec usage_msg; exit 1 - in - if Array.length cmd = 0 then (Arg.usage spec usage_msg; exit 1); - cmd + in + if Array.length cmd = 0 then (Arg.usage spec usage_msg; exit 1); + cmd + with + Arg.Bad(s) -> Printf.eprintf "%s\n" s; exit 1 + | Arg.Help(s) -> Printf.printf "%s\n" s; exit 0 + | Not_found -> Arg.usage spec usage_msg; exit 1 + end @@ -92,13 +93,14 @@ let rec monitor pid start finish mem fmt = monitor pid start finish mem fmt end else - let () = - match s with - WEXITED c -> fprintf fmt "Process exited with code %i\n" c - | WSTOPPED s -> fprintf fmt "Process stopped by signal %i\n" s - | WSIGNALED s -> fprintf fmt "Process killed by signal %i\n" s - in - fprintf fmt "Peak memory use: %ikb\n%!" !max_mem + if not !Options.quiet then + let () = + match s with + WEXITED c -> fprintf fmt "Process exited with code %i\n" c + | WSTOPPED s -> fprintf fmt "Process stopped by signal %i\n" s + | WSIGNALED s -> fprintf fmt "Process killed by signal %i\n" s + in + fprintf fmt "Peak memory use: %ikb\n%!" !max_mem ;;