From: Claudio Sacerdoti Coen Date: Mon, 29 May 2006 17:10:14 +0000 (+0000) Subject: ensure connections get closed after having been served X-Git-Tag: make_still_working~7305 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=a2dfb2a0f929852d05e38109a24b25b5cfa6585f;p=helm.git ensure connections get closed after having been served --- diff --git a/helm/software/daemons/rdfly/rdfly.ml b/helm/software/daemons/rdfly/rdfly.ml index b9a79d139..18c2e1587 100644 --- a/helm/software/daemons/rdfly/rdfly.ml +++ b/helm/software/daemons/rdfly/rdfly.ml @@ -152,7 +152,7 @@ let password = get_option "rdfly.mysql_connection.password";; let user = get_option "rdfly.mysql_connection.user";; let daemonport = Helm_registry.get_int "rdfly.port";; -let callback (req: Http_types.request) ch = +let callback ((req: Http_types.request), ch) = try debug_print ("Connection from " ^ req#clientAddr) ; debug_print ("Received request: " ^ req#uri) ; @@ -180,6 +180,11 @@ let callback (req: Http_types.request) ch = | exc -> return_html_error ("Uncaught exception: " ^ (Printexc.to_string exc)) ch +let callback req ch = + HExtlib.finally + (fun () -> try close_out ch with Sys_error _ -> ()) + callback (req, ch) + let main () = Sys.catch_break true; try