summaryrefslogtreecommitdiff
path: root/src/cuirass/database.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-03-19 22:13:54 +0100
committerLudovic Courtès <ludo@gnu.org>2018-03-19 22:13:54 +0100
commit99d88929a62207843aa66cbfb7093391e54ea199 (patch)
tree086bc986faa0530063090f68656831998e212f72 /src/cuirass/database.scm
parente0e270986376b81a593553d9ee4b47b5cdb7a2ab (diff)
downloadcuirass-99d88929a62207843aa66cbfb7093391e54ea199.tar
cuirass-99d88929a62207843aa66cbfb7093391e54ea199.tar.gz
'with-store' and 'with-database' and written in terms of 'unwind-protect'.
* src/cuirass/base.scm (with-store): Rewrite using 'unwind-protect'. * src/cuirass/database.scm (with-database): Likewise.
Diffstat (limited to 'src/cuirass/database.scm')
-rw-r--r--src/cuirass/database.scm6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/cuirass/database.scm b/src/cuirass/database.scm
index f47152a..2b1d532 100644
--- a/src/cuirass/database.scm
+++ b/src/cuirass/database.scm
@@ -253,10 +253,8 @@ INSERT INTO Evaluations (specification, revision) VALUES ("
;; XXX: We don't install an unwind handler to play well with delimited
;; continuations and fibers. But as a consequence, we leak DB when BODY
;; raises an exception.
- (let* ((db (db-open))
- (result (begin body ...)))
- (db-close db)
- result))
+ (let ((db (db-open)))
+ (unwind-protect body ... (db-close db))))
(define* (read-quoted-string #:optional (port (current-input-port)))
"Read all of the characters out of PORT and return them as a SQL quoted