diff options
author | Luca Milanesio <luca.milanesio@gmail.com> | 2025-07-04 23:51:19 +0100 |
---|---|---|
committer | Luca Milanesio <luca.milanesio@gmail.com> | 2025-07-04 23:51:19 +0100 |
commit | 461c6da450740f0195d13a5ed60c49a37890df08 (patch) | |
tree | 6f916cd4fa6d3c179a12d6c07ff4b38432282cf2 | |
parent | 426a6c70c38037835df6f25e01dfdf18971292ad (diff) | |
parent | 23029d8aede6b5b9fefb408642fc23798d527067 (diff) | |
download | jgit-461c6da450740f0195d13a5ed60c49a37890df08.tar.gz jgit-461c6da450740f0195d13a5ed60c49a37890df08.zip |
Merge branch 'stable-7.3'
* stable-7.3:
Lock reftable auto-refresh to ensure consistency
Change-Id: I43df38f98f0b03dec2e64d4c52257ddc3affd64f
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileReftableDatabase.java | 10 |
1 files changed, 8 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 559d5a4339..64f8c9b0e3 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 @@ -264,8 +264,14 @@ public class FileReftableDatabase extends RefDatabase { public void refresh() { try { if (!reftableStack.isUpToDate()) { - reftableDatabase.clearCache(); - reftableStack.reload(); + ReentrantLock lock = getLock(); + lock.lock(); + try { + reftableDatabase.clearCache(); + reftableStack.reload(); + } finally { + lock.unlock(); + } } } catch (IOException e) { throw new UncheckedIOException(e); |