Skip to content

Commit f475095

Browse files
authored
Merge pull request #263 from Julow/lwt-main-once
Avoid calling `Lwt_main.run` twice
2 parents faf45c9 + 61363da commit f475095

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

src/server/ocsigen_server.ml

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ let main config =
221221
in
222222
let extensions_connector = Ocsigen_extensions.compute_result in
223223
let run () =
224-
Lwt_main.run (Ocsigen_messages.open_files ());
224+
Ocsigen_messages.open_files () >>= fun () ->
225225
let ports = Ocsigen_config.get_ports ()
226226
and ssl_ports = Ocsigen_config.get_ssl_ports () in
227227
let connection = match ports with [] -> [`All, 80] | l -> l in
@@ -337,18 +337,17 @@ let main config =
337337
>>= f
338338
in
339339
ignore (f () : 'a Lwt.t));
340-
Lwt_main.run
341-
@@ Lwt.join
342-
(List.map
343-
(fun (address, port) ->
344-
Ocsigen_cohttp.service ~address ~port
345-
~connector:extensions_connector ())
346-
connection
347-
@ (List.map (fun (address, port, (crt, key)) ->
348-
Ocsigen_cohttp.service
349-
~ssl:(crt, key, Some (ask_for_passwd [address, port]))
350-
~address ~port ~connector:extensions_connector ()))
351-
ssl_connection)
340+
Lwt.join
341+
(List.map
342+
(fun (address, port) ->
343+
Ocsigen_cohttp.service ~address ~port
344+
~connector:extensions_connector ())
345+
connection
346+
@ (List.map (fun (address, port, (crt, key)) ->
347+
Ocsigen_cohttp.service
348+
~ssl:(crt, key, Some (ask_for_passwd [address, port]))
349+
~address ~port ~connector:extensions_connector ()))
350+
ssl_connection)
352351
(*
353352
Ocsigen_messages.warning "Ocsigen has been launched (initialisations ok)";
354353
@@ -388,14 +387,14 @@ let main config =
388387
then
389388
let pid = Unix.fork () in
390389
if pid = 0
391-
then run ()
390+
then Lwt_main.run (run ())
392391
else (
393392
Ocsigen_messages.console (fun () ->
394393
"Process " ^ string_of_int pid ^ " detached");
395394
write_pid pid)
396395
else (
397396
write_pid (Unix.getpid ());
398-
run ())
397+
Lwt_main.run (run ()))
399398
with e ->
400399
let msg, errno = errmsg e in
401400
Ocsigen_messages.errlog msg;

0 commit comments

Comments
 (0)