From e8cc87f1f570470282486a4bcedbdeed0f606bba Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Fri, 2 Feb 2024 23:29:09 -0500 Subject: [PATCH] fixes --- src/core/fut.ml | 2 +- src/core/ws_pool.ml | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/fut.ml b/src/core/fut.ml index ba58a506..afe7dc39 100644 --- a/src/core/fut.ml +++ b/src/core/fut.ml @@ -444,7 +444,7 @@ let await (fut : 'a t) : 'a = resume ~ls k (Ok ()) | Error (exn, bt) -> (* fail continuation immediately *) - resume ~ls k (Error (exn, bt)))); + k (Error (exn, bt)))); }; (* un-suspended: we should have a result! *) get_or_fail_exn fut diff --git a/src/core/ws_pool.ml b/src/core/ws_pool.ml index 3ccb4c91..4eff8e2e 100644 --- a/src/core/ws_pool.ml +++ b/src/core/ws_pool.ml @@ -130,7 +130,10 @@ let run_task_now_ (self : state) ~runner (w : worker_state) ~name ~ls task : schedule_task_ self w ~name ~ls:[||] task' in - let resume ~ls k r = schedule_task_ self (Some w) ~name ~ls (fun () -> k r) in + let resume ~ls k r = + let w = find_current_worker_ () in + schedule_task_ self w ~name ~ls (fun () -> k r) + in (* run the task now, catching errors *) (try