From 22c9d36c48989b10ebe442a4e1329d693fc86630 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Tue, 2 Jun 2020 17:12:57 -0700 Subject: [PATCH] fix ConcurrentModificationExceptions --- src/main/java/us/ajg0702/queue/Manager.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/us/ajg0702/queue/Manager.java b/src/main/java/us/ajg0702/queue/Manager.java index 771cb3c..a0b70e3 100644 --- a/src/main/java/us/ajg0702/queue/Manager.java +++ b/src/main/java/us/ajg0702/queue/Manager.java @@ -1,6 +1,7 @@ package us.ajg0702.queue; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -128,7 +129,9 @@ public class Manager { for(Server s : servers) { int ot = s.getOfflineTime(); List plys = s.getQueue(); - for(ProxiedPlayer ply : plys) { + Iterator it = plys.iterator(); + while(it.hasNext()) { + ProxiedPlayer ply = it.next(); int pos = plys.indexOf(ply)+1; if(pos == 0) { plys.remove(ply); @@ -240,8 +243,9 @@ public class Manager { * Updates info about servers. */ public void updateServers() { - for(Server s : servers) { - s.update(); + Iterator it = servers.iterator(); + while(it.hasNext()) { + it.next().update(); } }