diff --git a/src/unix/async_io.ml b/src/unix/async_io.ml index 302803c1..e0bae3d4 100644 --- a/src/unix/async_io.ml +++ b/src/unix/async_io.ml @@ -196,7 +196,9 @@ module TCP_server = struct loop () in - if can_start then ( + if can_start then + let@ _sp = Tracing_.with_span "moonpool-unix.tcp-server.run" in + let sock = try let sock = @@ -213,6 +215,7 @@ module TCP_server = struct Fut.fulfill_idempotent promise @@ Error (Exn_bt.make e bt); Printexc.raise_with_backtrace e bt in + while A.get st = Running do let client_sock, client_addr = accept_ sock in let client_fd = Fd.create client_sock in @@ -237,7 +240,6 @@ module TCP_server = struct in () done - ) end let create ?(after_init = ignore) ?listen ?buf_pool ?buf_size ~runner diff --git a/src/unix/ev_loop.ml b/src/unix/ev_loop.ml index 8c265d9d..6310ac9b 100644 --- a/src/unix/ev_loop.ml +++ b/src/unix/ev_loop.ml @@ -207,6 +207,7 @@ module Ev_loop = struct let reads, writes = IO_tbl.prepare_select self.io_tbl in A.set self.in_blocking_section true; let reads, writes, _ = + let@ _sp = Tracing_.with_span "moonpool-unix.evloop.select" in Unix.select (self.pipe_read :: reads) writes [] delay in A.set self.in_blocking_section false;