fix issue for 4.04

This commit is contained in:
Simon Cruanes 2023-06-21 11:34:42 -04:00
parent 4138b1885a
commit 0adebc304b

View file

@ -41,4 +41,11 @@ let release_ self x : unit =
let with_resource (self : _ t) f = let with_resource (self : _ t) f =
let x = acquire_ self in let x = acquire_ self in
Fun.protect ~finally:(fun () -> release_ self x) (fun () -> f x) try
let res = f x in
release_ self x;
res
with e ->
let bt = Printexc.get_raw_backtrace () in
release_ self x;
Printexc.raise_with_backtrace e bt