let lord t ~njobs ~vassals ~ic ~ocs =
let active_vassals = ref njobs in
let results = Queue.create () in
let lord t ~njobs ~vassals ~ic ~ocs =
let active_vassals = ref njobs in
let results = Queue.create () in
| vassals ->
let pid, _process_status = Unix.wait () in
(* TODO: handle process_status *)
wait (List.filter vassals ~f:(fun p -> p <> pid))
in
| vassals ->
let pid, _process_status = Unix.wait () in
(* TODO: handle process_status *)
wait (List.filter vassals ~f:(fun p -> p <> pid))
in
let vassal i ~f ~vassal_pipe_r ~lord_pipe_w =
let ic = Unix.in_channel_of_descr vassal_pipe_r in
let oc = Unix.out_channel_of_descr lord_pipe_w in
let vassal i ~f ~vassal_pipe_r ~lord_pipe_w =
let ic = Unix.in_channel_of_descr vassal_pipe_r in
let oc = Unix.out_channel_of_descr lord_pipe_w in