From 8c10c2b3293cb63a3f99b01f69f00b66bd944321 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Fri, 1 Mar 2024 19:02:46 -0500 Subject: [PATCH] expose `Task_local_storage.get_current` --- src/core/task_local_storage.ml | 2 ++ src/core/task_local_storage.mli | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/src/core/task_local_storage.ml b/src/core/task_local_storage.ml index 1491b270..b62f4908 100644 --- a/src/core/task_local_storage.ml +++ b/src/core/task_local_storage.ml @@ -77,3 +77,5 @@ let with_value key x f = let old = get key in set key x; Fun.protect ~finally:(fun () -> set key old) f + +let get_current = get_current_storage diff --git a/src/core/task_local_storage.mli b/src/core/task_local_storage.mli index 502661bb..0cb4cc09 100644 --- a/src/core/task_local_storage.mli +++ b/src/core/task_local_storage.mli @@ -52,6 +52,10 @@ val with_value : 'a key -> 'a -> (unit -> 'b) -> 'b to [f()]. When [f()] returns (or fails), [k] is restored to its old value. *) +val get_current : unit -> t option +(** Access the current storage, or [None] if not run from + within a task. *) + (** Direct access to values from a storage handle *) module Direct : sig val get : t -> 'a key -> 'a