From 8401cc3add7ac24d1c50e675a5ca1d1868845171 Mon Sep 17 00:00:00 2001 From: Joshua Suskalo Date: Tue, 29 Nov 2022 20:06:20 -0600 Subject: [PATCH] Fix bug where `with-acquired` did not return a value --- src/clj/coffi/mem.clj | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/clj/coffi/mem.clj b/src/clj/coffi/mem.clj index 337bf36..1f171dc 100644 --- a/src/clj/coffi/mem.clj +++ b/src/clj/coffi/mem.clj @@ -173,12 +173,14 @@ {:style/indent 1} [sessions & body] (if (seq sessions) - `(let [session# ~(first sessions)] + `(let [session# ~(first sessions) + res# (volatile! ::invalid-value)] (.whileAlive ^MemorySession session# (^:once fn* [] (with-acquired [~@(rest sessions)] - ~@body)))) + (vreset! res# (do ~@body))))) + @res#) `(do ~@body))) (s/fdef with-acquired :args (s/cat :sessions any?