Fix bug where with-acquired did not return a value

This commit is contained in:
Joshua Suskalo 2022-11-29 20:06:20 -06:00
parent 379dc95c66
commit 8401cc3add
No known key found for this signature in database
GPG key ID: 9B6BA586EFF1B9F0

View file

@ -173,12 +173,14 @@
{:style/indent 1} {:style/indent 1}
[sessions & body] [sessions & body]
(if (seq sessions) (if (seq sessions)
`(let [session# ~(first sessions)] `(let [session# ~(first sessions)
res# (volatile! ::invalid-value)]
(.whileAlive (.whileAlive
^MemorySession session# ^MemorySession session#
(^:once fn* [] (^:once fn* []
(with-acquired [~@(rest sessions)] (with-acquired [~@(rest sessions)]
~@body)))) (vreset! res# (do ~@body)))))
@res#)
`(do ~@body))) `(do ~@body)))
(s/fdef with-acquired (s/fdef with-acquired
:args (s/cat :sessions any? :args (s/cat :sessions any?