From a99ec5ed517b2f2374a73f0c6e9298c8d8f17802 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Fri, 8 Apr 2022 15:24:43 +0100 Subject: [PATCH] Fix a race condition when starting a transaction during shutdown. --- .../main/java/org/briarproject/bramble/db/JdbcDatabase.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java b/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java index 3ae8f7255..539304474 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/JdbcDatabase.java @@ -582,7 +582,13 @@ abstract class JdbcDatabase implements Database { txn.setAutoCommit(false); connectionsLock.lock(); try { + // The DB may have been closed since the check above + if (closed) { + tryToClose(txn, LOG, WARNING); + throw new DbClosedException(); + } openConnections++; + connectionsChanged.signalAll(); } finally { connectionsLock.unlock(); }