| Unix.WSIGNALED n -> sprintf "Process killed by signal %d" n
| Unix.WSTOPPED n -> sprintf "Process stopped by signal %d" n
in
-let callback (req: Http_types.request) outchan =
+let callback ((req: Http_types.request), outchan) =
try
(match req#path with
| "/draw" ->
~body:(sprintf "Parameter '%s' is missing" attr_name)
outchan
in
+let callback req ch =
+ HExtlib.finally
+ (fun () -> try close_out ch with Sys_error _ -> ())
+ callback (req, ch)
+in
Helm_registry.load_from configuration_file;
let port = Helm_registry.get_int "draw_graph.port" in
Sys.chdir (Helm_registry.get "draw_graph.dir");
with Found -> true
;;
-let callback (req: Http_types.request) outchan =
+let callback ((req: Http_types.request), outchan) =
try
let res = new Http_response.response () in
res#addBasicHeaders;
outchan
in
+let callback req ch =
+ HExtlib.finally
+ (fun () -> try close_out ch with Sys_error _ -> ())
+ callback (req, ch)
+
+in
+
Helm_registry.load_from configuration_file;
let port = Helm_registry.get_int "uri_set_queue.port" in
printf "%s started and listening on port %d\n" daemon_name port;