Browse Source

[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>
tags/v5.11.0.202102031030-m2
Matthias Sohn 3 years ago
parent
commit
fa0e77e8f9

+ 4
- 2
org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java View File

@@ -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();
}
}


Loading…
Cancel
Save