diff options
Diffstat (limited to 'guix-data-service/web/server.scm')
-rw-r--r-- | guix-data-service/web/server.scm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/guix-data-service/web/server.scm b/guix-data-service/web/server.scm index b220b20..81c59fb 100644 --- a/guix-data-service/web/server.scm +++ b/guix-data-service/web/server.scm @@ -33,11 +33,13 @@ (define (with-postgresql-connection paramstring f) (let* ((conn (connect-to-postgres-paramstring paramstring))) - (dynamic-wind - (const #t) - (lambda () - (f conn)) + (with-throw-handler + #t (lambda () + (let ((result (f conn))) + (pg-conn-finish conn) + result)) + (lambda (key . args) (pg-conn-finish conn))))) (define (run-controller controller request body) |