From f023b7cac0eb16d3c1bf40f1f7898b290de4cc73 Mon Sep 17 00:00:00 2001 From: Andrew Chow Date: Wed, 23 Sep 2020 12:16:40 -0400 Subject: wallet: Enforce sqlite serialized threading mode --- src/wallet/sqlite.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/wallet/sqlite.cpp b/src/wallet/sqlite.cpp index 8a6b547feb..02a161ecbd 100644 --- a/src/wallet/sqlite.cpp +++ b/src/wallet/sqlite.cpp @@ -48,6 +48,11 @@ SQLiteDatabase::SQLiteDatabase(const fs::path& dir_path, const fs::path& file_pa if (ret != SQLITE_OK) { throw std::runtime_error(strprintf("SQLiteDatabase: Failed to setup error log: %s\n", sqlite3_errstr(ret))); } + // Force serialized threading mode + ret = sqlite3_config(SQLITE_CONFIG_SERIALIZED); + if (ret != SQLITE_OK) { + throw std::runtime_error(strprintf("SQLiteDatabase: Failed to configure serialized threading mode: %s\n", sqlite3_errstr(ret))); + } } int ret = sqlite3_initialize(); // This is a no-op if sqlite3 is already initialized if (ret != SQLITE_OK) { -- cgit v1.2.3