From db78d695a6fd2f2d375be45de4b6207eb5d151b0 Mon Sep 17 00:00:00 2001 From: Par Winzell Date: Tue, 3 Jan 2012 14:54:22 +0000 Subject: [PATCH] There are NetEventHandlers that want to directly modify _handlers; let's let them. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6757 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- src/main/java/com/threerings/nio/conman/ConnectionManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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();