diff --git a/src/main/java/com/threerings/nio/conman/ConnectionManager.java b/src/main/java/com/threerings/nio/conman/ConnectionManager.java index 8f5341f2e..22f99b0b5 100644 --- a/src/main/java/com/threerings/nio/conman/ConnectionManager.java +++ b/src/main/java/com/threerings/nio/conman/ConnectionManager.java @@ -32,6 +32,7 @@ import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.SocketChannel; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.inject.Inject; import com.google.inject.name.Named; @@ -171,7 +172,7 @@ public abstract class ConnectionManager extends LoopingThread // close connections that have had no network traffic for too long long idleStamp = iterStamp - _idleTime; - for (NetEventHandler handler : _handlers.values()) { + for (NetEventHandler handler : Lists.newArrayList(_handlers.values())) { if (handler.checkIdle(idleStamp)) { // this will queue the connection for closure on our next tick handler.becameIdle();