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/kernel/Path.ml | |
| parent | 4896005e5d156e8a590b12946a54507daa895686 (diff) | |
| download | RNT-254d106c92dcabcdeb83a5d0141deca22ffb79de.tar.gz RNT-254d106c92dcabcdeb83a5d0141deca22ffb79de.zip | |
admission protocol for multigroup denial checks
Diffstat (limited to 'lib/kernel/Path.ml')
| -rw-r--r-- | lib/kernel/Path.ml | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/kernel/Path.ml b/lib/kernel/Path.ml index 8e7eab0..4e36125 100644 --- a/lib/kernel/Path.ml +++ b/lib/kernel/Path.ml @@ -49,9 +49,7 @@ let walking ?missing f g handle path = done with them, but never the caller's root. If you leak one and its refcount never drops, nothing under that path gets collected, and an exclusive object, like a session, stays locked forever. *) -let releasing root handle f = - Fun.protect ~finally:(fun () -> if handle != root then Protocols.Handle.release handle) f - +let releasing root handle f = if handle == root then f () else Protocols.Handle.releasing handle f let lookup handle path = walking (fun _ parent -> releasing handle parent) Result.ok handle path let find handle path = |
