diff options
-rw-r--r-- | guix-data-service/database.scm | 9 |
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))))) |