let styles = new Uwobo_styles.styles in
(* (3) clean up actions *)
let last_process = ref true in
+ let http_child = ref None in
let die_nice () = (** at_exit callback *)
if !last_process then begin
+ (match !http_child with
+ | None -> ()
+ | Some pid -> Unix.kill pid Sys.sigterm);
syslogger#log `Notice (sprintf "%s is terminating, bye!" daemon_name);
syslogger#disable;
close_out logger_outchan
let (res_pipe_exit, res_pipe_entrance) = Unix.pipe () in
match Unix.fork () with
| child when child > 0 -> (* (4) parent: listen on cmd pipe for updates *)
+ http_child := Some child;
let stop_http_daemon () = (* kill child *)
debug_print (sprintf "Grandparent: killing pid %d" child);
Unix.kill child Sys.sigterm; (* kill child ... *)