Skip to content

Commit 6011e30

Browse files
events: cosmetics and tweaks
1 parent 8c66f74 commit 6011e30

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

src/unix/lwt_main.ml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ let abandon_yielded_and_paused () =
2222

2323
type Runtime_events.User.tag += Scheduler_call
2424
let sch_call = Runtime_events.User.register "lwt-sch-call" Scheduler_call Runtime_events.Type.span
25+
2526
type Runtime_events.User.tag += Scheduler_lap
2627
let sch_lap = Runtime_events.User.register "lwt-sch-lap" Scheduler_lap Runtime_events.Type.unit
2728

@@ -37,14 +38,12 @@ let run p =
3738
(Lwt.Private.Multidomain_sync.register_notification[@alert "-trespassing"]) domain(fun () -> Lwt_unix.send_notification n)
3839
end
3940
in
40-
Runtime_events.User.write sch_call Begin;
4141
let rec run_loop () =
4242
Runtime_events.User.write sch_lap ();
4343
Runtime_events.User.write Lwt_unix.unix_job_count (Domain.DLS.get Lwt_unix.job_count) ;
4444
Runtime_events.User.write (Lwt.Private.paused_count[@alert "-trespassing"]) (Lwt.paused_count ()) ;
4545
match Lwt.poll p with
4646
| Some x ->
47-
Runtime_events.User.write sch_call End;
4847
x
4948
| None ->
5049
(* Call enter hooks. *)
@@ -64,7 +63,10 @@ let run p =
6463
run_loop ()
6564
in
6665

67-
run_loop ()
66+
Runtime_events.User.write sch_call Begin;
67+
Fun.protect
68+
~finally:(fun () -> Runtime_events.User.write sch_call End)
69+
(fun () -> run_loop ())
6870

6971
let run_already_called = Domain.DLS.new_key (fun () -> `No)
7072
let run_already_called_mutex = Domain.DLS.new_key (fun () -> Mutex.create ())

src/unix/lwt_unix.cppo.ml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ open Lwt.Infix
1414

1515
type Runtime_events.User.tag += Unix_job_count
1616
let unix_job_count = Runtime_events.User.register "lwt-unix-job-count" Unix_job_count Runtime_events.Type.int
17+
1718
let job_count = Domain.DLS.new_key (fun () -> 0)
1819

1920
(* +-----------------------------------------------------------------+

0 commit comments

Comments
 (0)