mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-06 03:05:30 -05:00
TEMP: printf
This commit is contained in:
parent
03676f2e3d
commit
43cd6035db
2 changed files with 7 additions and 0 deletions
|
|
@ -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 ->
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue