diff --git a/src/fib/fiber.ml b/src/fib/fiber.ml index 25a4485e..7ddb294b 100644 --- a/src/fib/fiber.ml +++ b/src/fib/fiber.ml @@ -149,6 +149,7 @@ let k_current_fiber : any option Task_local_storage.key = Task_local_storage.new_key ~init:(fun () -> None) () let spawn_ ?name ~on (f : _ -> 'a) : 'a t = + Printf.printf "spawn fiber\n%!"; let id = Handle.generate_fresh () in let res, _promise = Fut.make ?name () in let fib = @@ -162,8 +163,10 @@ let spawn_ ?name ~on (f : _ -> 'a) : 'a t = let run () = (* make sure the fiber is accessible from inside itself *) + Printf.printf "run fiber 0\n%!"; Task_local_storage.set k_current_fiber (Some (Any fib)); try + Printf.printf "run fiber\n%!"; let res = f () in resolve_ok_ fib res with exn -> diff --git a/src/unix/ev_loop.ml b/src/unix/ev_loop.ml index 8c25fea5..64286281 100644 --- a/src/unix/ev_loop.ml +++ b/src/unix/ev_loop.ml @@ -202,14 +202,18 @@ module Ev_loop = struct let delay = run_timer_ self.timer in let delay = Option.value delay ~default:10. in + Printf.printf "delay: %f\n%!" delay; (* run [select] *) let reads, writes = IO_tbl.prepare_select self.io_tbl in A.set self.in_blocking_section true; + Printf.printf "ENTER (%d read, %d write)\n%!" (List.length reads) + (List.length writes); let reads, writes, _ = let@ _sp = Tracing_.with_span "moonpool-unix.select" in Unix.select (self.pipe_read :: reads) writes [] delay in + Printf.printf "EXIT\n%!"; A.set self.in_blocking_section false; drain_pipe_ self;