From f25693026905df423b8e92f9cb252a292c50fcab Mon Sep 17 00:00:00 2001 From: ElgarL Date: Wed, 9 Jan 2013 14:38:00 +0000 Subject: Synchronize the raising of GroupManager events to Bukkit.getServer() (should prevent deadlocks). --- .../anjocaido/groupmanager/events/GMGroupEvent.java | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/events/GMGroupEvent.java') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/events/GMGroupEvent.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/events/GMGroupEvent.java index af3fb6135..b0e5e1755 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/events/GMGroupEvent.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/events/GMGroupEvent.java @@ -74,14 +74,16 @@ public class GMGroupEvent extends Event { public void schedule(final GMGroupEvent event) { - if (Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("GroupManager"), new Runnable() { - - @Override - public void run() { - - Bukkit.getServer().getPluginManager().callEvent(event); - } - }, 1) == -1) - GroupManager.logger.warning("Could not schedule GM Event."); + synchronized (GroupManager.getGMEventHandler().getServer()) { + if (Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("GroupManager"), new Runnable() { + + @Override + public void run() { + + Bukkit.getServer().getPluginManager().callEvent(event); + } + }, 1) == -1) + GroupManager.logger.warning("Could not schedule GM Event."); + } } } \ No newline at end of file -- cgit v1.2.3