Module Ocamlbuild_executor


module Ocamlbuild_executor: sig .. end


type error =
| Subcommand_failed
| Subcommand_got_signal
| Io_error
| Exceptionl_condition
type task = unit -> string 

type job = {
   job_id : int * int;
   job_command : string;
   job_next : task list;
   job_result : bool Pervasives.ref;
   job_stdout : Pervasives.in_channel;
   job_stdin : Pervasives.out_channel;
   job_stderr : Pervasives.in_channel;
   job_buffer : Buffer.t;
   mutable job_dying : bool;
}
module JS: Set.Make(sig
type t = Ocamlbuild_executor.job 
val compare : 'a -> 'a -> int
end)
module FDM: Map.Make(sig
type t = Unix.file_descr 
val compare : 'a -> 'a -> int
end)
val sf : ('a, unit, string) Pervasives.format -> 'a
val fp : Pervasives.out_channel ->
('a, Pervasives.out_channel, unit) Pervasives.format -> 'a
val print_unix_status : Pervasives.out_channel -> Unix.process_status -> unit
val print_job_id : Pervasives.out_channel -> int * int -> unit
val output_lines : string -> Pervasives.out_channel -> Buffer.t -> unit
val execute : ?max_jobs:int ->
?ticker:(unit -> unit) ->
?period:float ->
?display:((Pervasives.out_channel -> unit) -> unit) ->
exit:(error -> unit) ->
task list list -> (bool list * exn) option