From 8e8b0ca6fcca33f366f34ea3ba45886af7368639 Mon Sep 17 00:00:00 2001 From: Ivan Pekov Date: Thu, 28 Oct 2021 18:49:47 +0300 Subject: [PATCH] Only lock wen copying --- .../expansion/manager/LocalExpansionManager.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/me/clip/placeholderapi/expansion/manager/LocalExpansionManager.java b/src/main/java/me/clip/placeholderapi/expansion/manager/LocalExpansionManager.java index 7a2cd58..0f88292 100644 --- a/src/main/java/me/clip/placeholderapi/expansion/manager/LocalExpansionManager.java +++ b/src/main/java/me/clip/placeholderapi/expansion/manager/LocalExpansionManager.java @@ -340,18 +340,20 @@ public final class LocalExpansionManager implements Listener { } private void unregisterAll() { + Collection expansionsCopy; expansionsLock.lock(); try { - for (final PlaceholderExpansion expansion : Sets.newHashSet(expansions.values())) { - if (expansion.persist()) { - continue; - } - - expansion.unregister(); - } + expansionsCopy = Sets.newHashSet(expansions.values()); } finally { expansionsLock.unlock(); } + for (final PlaceholderExpansion expansion : expansionsCopy) { + if (expansion.persist()) { + continue; + } + + expansion.unregister(); + } } @NotNull