diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-09 01:16:35 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-10-09 01:16:35 -0300 |
| commit | 254d106c92dcabcdeb83a5d0141deca22ffb79de (patch) | |
| tree | c99478aed6730365fcdd907b7bd777e3b7e2237a /lib/protocols/Handle.ml | |
| parent | 4896005e5d156e8a590b12946a54507daa895686 (diff) | |
| download | RNT-254d106c92dcabcdeb83a5d0141deca22ffb79de.tar.gz RNT-254d106c92dcabcdeb83a5d0141deca22ffb79de.zip | |
admission protocol for multigroup denial checks
Diffstat (limited to '')
| -rw-r--r-- | lib/protocols/Handle.ml | 1 | ||||
| -rw-r--r-- | lib/protocols/Handle.mli | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/lib/protocols/Handle.ml b/lib/protocols/Handle.ml index cdadd4a..c8480a6 100644 --- a/lib/protocols/Handle.ml +++ b/lib/protocols/Handle.ml @@ -47,4 +47,5 @@ let release ({valid; _} as handle) = valid := false; o#release +let releasing handle f = Fun.protect ~finally:(fun () -> release handle) f let require f h = Option.to_result ~none:(Error.unimplemented_protocol (to_string h)) (f h) diff --git a/lib/protocols/Handle.mli b/lib/protocols/Handle.mli index a354257..5c74521 100644 --- a/lib/protocols/Handle.mli +++ b/lib/protocols/Handle.mli @@ -17,6 +17,7 @@ val invoke : 'a interface -> ('a -> 'b) -> 'b val copy : t -> t option val equal : t -> t -> bool val release : t -> unit +val releasing : t -> (unit -> 'a) -> 'a val hash : t -> Concepts.Hash.hash val protocols : t -> protocol list val to_string : t -> string |
