|
|
@ -42,12 +42,14 @@ module Runner = struct
|
|
|
|
let create ~jobs ~f =
|
|
|
|
let create ~jobs ~f =
|
|
|
|
PerfEvent.(
|
|
|
|
PerfEvent.(
|
|
|
|
log (fun logger -> log_begin_event logger ~categories:["sys"] ~name:"fork prepare" ())) ;
|
|
|
|
log (fun logger -> log_begin_event logger ~categories:["sys"] ~name:"fork prepare" ())) ;
|
|
|
|
|
|
|
|
ResultsDatabase.db_close () ;
|
|
|
|
let pool =
|
|
|
|
let pool =
|
|
|
|
ProcessPool.create ~jobs ~f
|
|
|
|
ProcessPool.create ~jobs ~f
|
|
|
|
~child_prelude:
|
|
|
|
~child_prelude:
|
|
|
|
((* hack: run post-fork bookkeeping stuff by passing a dummy function to [fork_protect] *)
|
|
|
|
((* hack: run post-fork bookkeeping stuff by passing a dummy function to [fork_protect] *)
|
|
|
|
fork_protect ~f:(fun () -> () ))
|
|
|
|
fork_protect ~f:(fun () -> () ))
|
|
|
|
in
|
|
|
|
in
|
|
|
|
|
|
|
|
ResultsDatabase.new_database_connection () ;
|
|
|
|
PerfEvent.(log (fun logger -> log_end_event logger ())) ;
|
|
|
|
PerfEvent.(log (fun logger -> log_end_event logger ())) ;
|
|
|
|
pool
|
|
|
|
pool
|
|
|
|
|
|
|
|
|
|
|
|