aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Sohn <matthias.sohn@sap.com>2020-12-04 11:15:35 +0100
committerMatthias Sohn <matthias.sohn@sap.com>2020-12-22 10:52:59 +0100
commitfa0e77e8f92d0710caf75085af1e6fb50b7d942d (patch)
tree25d926c949eabb8550dde3d31310b7543b51ff9f
parent39cbc574d177373411052923db25af22f96f25e0 (diff)
downloadjgit-fa0e77e8f92d0710caf75085af1e6fb50b7d942d.tar.gz
jgit-fa0e77e8f92d0710caf75085af1e6fb50b7d942d.zip
[spotbugs] FileReftableDatabase: extract lock to local variable
This fixes UL_UNRELEASED_LOCK_EXCEPTION_PATH raised by spotbugs in #compactFully. Change-Id: I370578ad9a027c5c9709d60a1dfafdac0cfca908 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java
index e613a58062..ad1e753128 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java
@@ -22,6 +22,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.TreeSet;
+import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
@@ -107,12 +108,13 @@ public class FileReftableDatabase extends RefDatabase {
* @throws IOException on I/O errors
*/
public void compactFully() throws IOException {
- reftableDatabase.getLock().lock();
+ Lock l = reftableDatabase.getLock();
+ l.lock();
try {
reftableStack.compactFully();
reftableDatabase.clearCache();
} finally {
- reftableDatabase.getLock().unlock();
+ l.unlock();
}
}