From d9edecb7895b236328002092b2e4c78476472bea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20K=C3=BCrten?= <sebastian@mobanisto.de>
Date: Mon, 7 Feb 2022 13:57:20 +0100
Subject: [PATCH] Improve readability for unlocking of transactionLock

---
 .../mailbox/core/db/JdbcDatabase.kt           | 20 ++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

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 df4aebcc..88399fec 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()
+            }
         }
     }
 
-- 
GitLab