diff --git a/unix/tcpip_stack_socket.ml b/unix/tcpip_stack_socket.ml index abd0a6ce4..44c0dc1c7 100644 --- a/unix/tcpip_stack_socket.ml +++ b/unix/tcpip_stack_socket.ml @@ -106,9 +106,12 @@ module Make(Console:V1_LWT.CONSOLE) = struct if true then loop () else return_unit in Lwt_unix.accept fd >>= fun (afd, _) -> - Lwt.catch - (fun () -> callback afd) - (fun _ -> return_unit) + Lwt.async (fun () -> + Lwt.catch + (fun () -> callback afd) + (fun _ -> return_unit) + ); + return_unit >>= fun () -> continue (); in