diff --git a/src/main/java/net/minestom/server/entity/Player.java b/src/main/java/net/minestom/server/entity/Player.java index 63c061d2b..b961e8082 100644 --- a/src/main/java/net/minestom/server/entity/Player.java +++ b/src/main/java/net/minestom/server/entity/Player.java @@ -333,7 +333,9 @@ public class Player extends LivingEntity implements CommandSender, Localizable, //players.add(p1.getAcquiredElement()); p1.getAcquiredElement().acquire(o -> { for (Player p2 : MinecraftServer.getConnectionManager().getOnlinePlayers()) - p2.getAcquiredElement().acquire(o2 -> {}); + p2.getAcquiredElement().acquire(o2 -> { + //System.out.println(getAcquiredElement().getHandler().getBatchThread().monitor.isOccupiedByCurrentThread()); + }); }); } diff --git a/src/main/java/net/minestom/server/lock/Acquisition.java b/src/main/java/net/minestom/server/lock/Acquisition.java index fdd5be94d..462cf308e 100644 --- a/src/main/java/net/minestom/server/lock/Acquisition.java +++ b/src/main/java/net/minestom/server/lock/Acquisition.java @@ -85,6 +85,9 @@ public final class Acquisition { GLOBAL_MONITOR.enter(); + if (currentAcquired) + current.monitor.enter(); + final var monitor = elementThread.monitor; final boolean acquired = monitor.isOccupiedByCurrentThread(); if (!acquired) { @@ -102,8 +105,6 @@ public final class Acquisition { monitor.leave(); } GLOBAL_MONITOR.leave(); - if (currentAcquired) - current.monitor.enter(); } }