diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectManager.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectManager.java index 57b6fd39..c94abdb5 100644 --- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectManager.java +++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectManager.java @@ -128,7 +128,7 @@ public class JObjectManager { // TODO: check deletions, inserts try { Collection> drained; - { + try { boolean somethingChanged; do { somethingChanged = false; @@ -163,12 +163,13 @@ public class JObjectManager { } current.putAll(currentIteration); } while (somethingChanged); - } - reads = tx.reads(); - for (var read : reads.entrySet()) { - addDependency.accept(read.getKey()); - if (read.getValue() instanceof TransactionObjectLocked locked) { - toUnlock.add(locked.lock); + } finally { + reads = tx.reads(); + for (var read : reads.entrySet()) { + addDependency.accept(read.getKey()); + if (read.getValue() instanceof TransactionObjectLocked locked) { + toUnlock.add(locked.lock); + } } }