diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-09-23 02:55:02 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-09-23 02:55:02 -0300 |
| commit | 51980807ec189732c8fcfa7b37855f29a2630559 (patch) | |
| tree | 80dc19f0405f3b2222f63b03f55d2d53b4a22b32 | |
| parent | 6663c20f3cd07a4ce8ff76453baa03e5b9ef6f6e (diff) | |
| download | RNT-51980807ec189732c8fcfa7b37855f29a2630559.tar.gz RNT-51980807ec189732c8fcfa7b37855f29a2630559.zip | |
release edges on mode failure
Diffstat (limited to '')
| -rw-r--r-- | lib/kernel/EphemeralRelation.ml | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/kernel/EphemeralRelation.ml b/lib/kernel/EphemeralRelation.ml index 8e2d2e4..4947869 100644 --- a/lib/kernel/EphemeralRelation.ml +++ b/lib/kernel/EphemeralRelation.ml @@ -138,7 +138,9 @@ module Make (D : DERIVATION) = struct let derive ?pinned ?(edges = []) plan = let open Utilities.Result in - let* declaration = D.modes plan in + let* declaration = + D.modes plan |> Result.map_error (fun c -> List.iter Protocols.Handle.release edges; c) + in Ok ( new ephemeral plan (identity ?pinned plan) declaration (exhaustible declaration BatSet.String.empty) edges |> Protocols.Handle.make ) |
