From 47b15e5fef5fbaa289c33283811ab731c6c9dd88 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Thu, 11 Aug 2022 19:08:33 +0200 Subject: [PATCH] Forgot a lock --- .../platform/AbstractProtocolDetectorService.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/com/viaversion/viaversion/platform/AbstractProtocolDetectorService.java b/common/src/main/java/com/viaversion/viaversion/platform/AbstractProtocolDetectorService.java index c0787bb5c..40a9e1dfb 100644 --- a/common/src/main/java/com/viaversion/viaversion/platform/AbstractProtocolDetectorService.java +++ b/common/src/main/java/com/viaversion/viaversion/platform/AbstractProtocolDetectorService.java @@ -33,14 +33,15 @@ public abstract class AbstractProtocolDetectorService implements ProtocolDetecto public int serverProtocolVersion(final String serverName) { // Step 1. Check detected lock.readLock().lock(); + final int detectedProtocol; try { - final int detectedProtocol = detectedProtocolIds.getInt(serverName); - if (detectedProtocol != -1) { - return detectedProtocol; - } + detectedProtocol = detectedProtocolIds.getInt(serverName); } finally { lock.readLock().unlock(); } + if (detectedProtocol != -1) { + return detectedProtocol; + } // Step 2. Check config (CME moment?) final Map servers = configuredServers(); @@ -81,6 +82,7 @@ public abstract class AbstractProtocolDetectorService implements ProtocolDetecto @Override public Object2IntMap detectedProtocolVersions() { + lock.readLock().lock(); try { return new Object2IntOpenHashMap<>(detectedProtocolIds); } finally {