From 16b349057647d272d25767ab67546bdef5ad275b Mon Sep 17 00:00:00 2001 From: JoJoDeveloping Date: Tue, 28 Aug 2018 09:25:50 +0200 Subject: [PATCH] #2520: Fix ConcurrentModificationException when tasks are cancelled during shutdown --- .../java/net/md_5/bungee/scheduler/BungeeScheduler.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeScheduler.java b/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeScheduler.java index 1dc1cc66..fd0dabcf 100644 --- a/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeScheduler.java +++ b/proxy/src/main/java/net/md_5/bungee/scheduler/BungeeScheduler.java @@ -62,9 +62,12 @@ public class BungeeScheduler implements TaskScheduler public int cancel(Plugin plugin) { Set toRemove = new HashSet<>(); - for ( ScheduledTask task : tasksByPlugin.get( plugin ) ) + synchronized ( lock ) { - toRemove.add( task ); + for ( ScheduledTask task : tasksByPlugin.get( plugin ) ) + { + toRemove.add( task ); + } } for ( ScheduledTask task : toRemove ) {