aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix-data-service/database.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/guix-data-service/database.scm b/guix-data-service/database.scm
index 60115ad..2ac26c4 100644
--- a/guix-data-service/database.scm
+++ b/guix-data-service/database.scm
@@ -65,9 +65,12 @@
(with-throw-handler
#t
(lambda ()
- (let ((result (f conn)))
- (pg-conn-finish conn)
- result))
+ (call-with-values
+ (lambda ()
+ (f conn))
+ (lambda vals
+ (pg-conn-finish conn)
+ (apply values vals))))
(lambda (key . args)
(pg-conn-finish conn)))))