diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/JdbcDatabase.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/JdbcDatabase.kt index df4aebcc82750f7aa016169fa702a15a6e61810d..88399fecc562119a9336bd4a84ae72eedd618085 100644 --- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/JdbcDatabase.kt +++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/db/JdbcDatabase.kt @@ -233,13 +233,12 @@ abstract class JdbcDatabase(private val dbTypes: DatabaseTypes, private val cloc } return try { Transaction(startTransaction(), readOnly) - } catch (e: DbException) { - if (readOnly) transactionLock.readLock().unlock() else transactionLock.writeLock() - .unlock() - throw e - } catch (e: RuntimeException) { - if (readOnly) transactionLock.readLock().unlock() else transactionLock.writeLock() - .unlock() + } catch (e: Throwable) { + if (readOnly) { + transactionLock.readLock().unlock() + } else { + transactionLock.writeLock().unlock() + } throw e } } @@ -646,8 +645,11 @@ abstract class JdbcDatabase(private val dbTypes: DatabaseTypes, private val cloc abortTransaction(connection) } } finally { - if (txn.isReadOnly) transactionLock.readLock().unlock() else transactionLock.writeLock() - .unlock() + if (txn.isReadOnly) { + transactionLock.readLock().unlock() + } else { + transactionLock.writeLock().unlock() + } } }