Skip to content

Commit 9564ce1

Browse files
author
Jan Rochel
authored
No longer run initialization code within Lwt_main.run (#180)
No longer run initialization code within Lwt_main.run
2 parents a5390db + 2485ea0 commit 9564ce1

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

src/server/ocsigen_server.ml

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1217,24 +1217,28 @@ let start_server () =
12171217
in
12181218
let run (user, group) (_, ports, sslports) (minthreads, maxthreads) s =
12191219

1220-
Ocsigen_messages.open_files ~user ~group () >>= fun () ->
1221-
12221220
let wait_end_init, wait_end_init_awakener = wait () in
12231221
(* Listening on all ports: *)
12241222

1225-
Lwt_list.fold_left_s
1226-
(fun a i ->
1227-
listen false i wait_end_init >>= fun l ->
1228-
Lwt.return (l @ a))
1229-
[] ports >>= fun l ->
1230-
sockets := l;
1231-
1232-
Lwt_list.fold_left_s
1233-
(fun a i ->
1234-
listen true i wait_end_init >>= fun l ->
1235-
Lwt.return (l @ a))
1236-
[] sslports >>= fun l ->
1237-
sslsockets := l;
1223+
let () =
1224+
Lwt_main.run
1225+
(Ocsigen_messages.open_files ~user ~group () >>= fun () ->
1226+
1227+
Lwt_list.fold_left_s
1228+
(fun a i ->
1229+
listen false i wait_end_init >>= fun l ->
1230+
Lwt.return (l @ a))
1231+
[] ports >>= fun l ->
1232+
sockets := l;
1233+
1234+
Lwt_list.fold_left_s
1235+
(fun a i ->
1236+
listen true i wait_end_init >>= fun l ->
1237+
Lwt.return (l @ a))
1238+
[] sslports >>= fun l ->
1239+
sslsockets := l;
1240+
Lwt.return_unit)
1241+
in
12381242

12391243
begin match ports with
12401244
| (_, p)::_ -> Ocsigen_config.set_default_port p
@@ -1385,7 +1389,7 @@ let start_server () =
13851389
Lwt_log.ign_notice ~section "Ocsigen has been launched \
13861390
(initialisations ok)";
13871391

1388-
fst (Lwt.wait ())
1392+
Lwt_main.run @@ fst (Lwt.wait ())
13891393

13901394
in
13911395

@@ -1466,15 +1470,15 @@ let start_server () =
14661470
let pid = Lwt_unix.fork () in
14671471
if pid = 0
14681472
then
1469-
Lwt_main.run (run user_info sslinfo threadinfo h)
1473+
run user_info sslinfo threadinfo h
14701474
else begin
14711475
Ocsigen_messages.console
14721476
(fun () -> "Process "^(string_of_int pid)^" detached");
14731477
write_pid pid
14741478
end
14751479
else begin
14761480
write_pid (Unix.getpid ());
1477-
Lwt_main.run (run user_info sslinfo threadinfo h)
1481+
run user_info sslinfo threadinfo h
14781482
end
14791483
| _ -> () (* Multiple servers not supported any more *)
14801484

0 commit comments

Comments
 (0)