@@ -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