mirror of
https://github.com/c-cube/moonpool.git
synced 2025-12-06 11:15:38 -05:00
feat worker_loop: always use reschedule in await
it's better than continuing right now because it will potentially reschedule on the correct runner.
This commit is contained in:
parent
796c4f6f31
commit
a24bd7472d
1 changed files with 2 additions and 2 deletions
|
|
@ -83,8 +83,8 @@ let with_handler (type st) ~(ops : st ops) (self : st) : (unit -> unit) -> unit
|
||||||
let fiber = get_current_fiber_exn () in
|
let fiber = get_current_fiber_exn () in
|
||||||
(* when triggers is signaled, reschedule task *)
|
(* when triggers is signaled, reschedule task *)
|
||||||
if not (Picos.Fiber.try_suspend fiber trigger fiber k reschedule) then
|
if not (Picos.Fiber.try_suspend fiber trigger fiber k reschedule) then
|
||||||
(* trigger was already signaled, run task now *)
|
(* trigger was already signaled, reschedule task now *)
|
||||||
Picos.Fiber.resume fiber k)
|
reschedule trigger fiber k)
|
||||||
| Picos.Computation.Cancel_after _r ->
|
| Picos.Computation.Cancel_after _r ->
|
||||||
Some
|
Some
|
||||||
(fun k ->
|
(fun k ->
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue