diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-03-19 22:13:54 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-03-19 22:13:54 +0100 |
commit | 99d88929a62207843aa66cbfb7093391e54ea199 (patch) | |
tree | 086bc986faa0530063090f68656831998e212f72 /src/cuirass/database.scm | |
parent | e0e270986376b81a593553d9ee4b47b5cdb7a2ab (diff) | |
download | cuirass-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.scm | 6 |
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 |