From 5185567842fc2768cd09d5ee2f2d556da1817099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Wed, 6 Dec 2023 20:56:17 +0100 Subject: [PATCH] Handle sqlite busy locking. --- src/mailman3-sql.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mailman3-sql.scm b/src/mailman3-sql.scm index a9a0fc8..741ec23 100644 --- a/src/mailman3-sql.scm +++ b/src/mailman3-sql.scm @@ -45,7 +45,11 @@ ;; Returns (possibly cached) SQLite3 DB handle (define (mailman3-db) (when (not (*cached-mailman3-db*)) - (*cached-mailman3-db* (open-database (*mailman3-sql-path*)))) + (*cached-mailman3-db* + (let ((handler (make-busy-timeout 2000))) + (let ((db (open-database (*mailman3-sql-path*)))) + (set-busy-handler! db handler) + db)))) (*cached-mailman3-db*)) ;; Returns the list of mailman3 mailinglists by querying te