From 3f7ed7b6b886f3731ace7182147d34753ffd0ab4 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Tue, 7 Nov 2023 21:11:12 -0500 Subject: [PATCH] moonpool: expose Fut.{spawn_on_current_runner,await} --- src/moonpool.ml | 7 +++++++ src/moonpool.mli | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/moonpool.ml b/src/moonpool.ml index b7d225d2..f2cf0174 100644 --- a/src/moonpool.ml +++ b/src/moonpool.ml @@ -5,6 +5,13 @@ let start_thread_on_some_domain f x = let run_async = Runner.run_async let recommended_thread_count () = Domain_.recommended_number () let spawn = Fut.spawn +let spawn_on_current_runner = Fut.spawn_on_current_runner + +[@@@ifge 5.0] + +let await = Fut.await + +[@@@endif] module Atomic = Atomic_ module Blocking_queue = Bb_queue diff --git a/src/moonpool.mli b/src/moonpool.mli index 3c470bd4..60c0ede6 100644 --- a/src/moonpool.mli +++ b/src/moonpool.mli @@ -40,6 +40,19 @@ val spawn : on:Runner.t -> (unit -> 'a) -> 'a Fut.t and returns a future result for it. See {!Fut.spawn}. @since NEXT_RELEASE *) +val spawn_on_current_runner : (unit -> 'a) -> 'a Fut.t +(** See {!Fut.spawn_on_current_runner}. + @since NEXT_RELEASE *) + +[@@@ifge 5.0] + +val await : 'a Fut.t -> 'a +(** Await a future. See {!Fut.await}. + Only on OCaml >= 5.0. + @since NEXT_RELEASE *) + +[@@@endif] + module Lock = Lock module Fut = Fut module Chan = Chan