TEMP: printf

This commit is contained in:
Simon Cruanes 2024-02-08 20:36:17 -05:00
parent 03676f2e3d
commit 43cd6035db
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4
2 changed files with 7 additions and 0 deletions

View file

@ -149,6 +149,7 @@ let k_current_fiber : any option Task_local_storage.key =
Task_local_storage.new_key ~init:(fun () -> None) () Task_local_storage.new_key ~init:(fun () -> None) ()
let spawn_ ?name ~on (f : _ -> 'a) : 'a t = let spawn_ ?name ~on (f : _ -> 'a) : 'a t =
Printf.printf "spawn fiber\n%!";
let id = Handle.generate_fresh () in let id = Handle.generate_fresh () in
let res, _promise = Fut.make ?name () in let res, _promise = Fut.make ?name () in
let fib = let fib =
@ -162,8 +163,10 @@ let spawn_ ?name ~on (f : _ -> 'a) : 'a t =
let run () = let run () =
(* make sure the fiber is accessible from inside itself *) (* 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)); Task_local_storage.set k_current_fiber (Some (Any fib));
try try
Printf.printf "run fiber\n%!";
let res = f () in let res = f () in
resolve_ok_ fib res resolve_ok_ fib res
with exn -> with exn ->

View file

@ -202,14 +202,18 @@ module Ev_loop = struct
let delay = run_timer_ self.timer in let delay = run_timer_ self.timer in
let delay = Option.value delay ~default:10. in let delay = Option.value delay ~default:10. in
Printf.printf "delay: %f\n%!" delay;
(* run [select] *) (* run [select] *)
let reads, writes = IO_tbl.prepare_select self.io_tbl in let reads, writes = IO_tbl.prepare_select self.io_tbl in
A.set self.in_blocking_section true; 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 reads, writes, _ =
let@ _sp = Tracing_.with_span "moonpool-unix.select" in let@ _sp = Tracing_.with_span "moonpool-unix.select" in
Unix.select (self.pipe_read :: reads) writes [] delay Unix.select (self.pipe_read :: reads) writes [] delay
in in
Printf.printf "EXIT\n%!";
A.set self.in_blocking_section false; A.set self.in_blocking_section false;
drain_pipe_ self; drain_pipe_ self;