Avoid concurrent mod exception, remove from the iterator instead
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 17 May 2007 11:47:50 +0000 (11:47 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 17 May 2007 11:47:50 +0000 (11:47 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@538878 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java

index 01100eb..7eeea1e 100644 (file)
@@ -283,7 +283,8 @@ public class ParallelNioSender extends AbstractSender implements MultiPointSende
             Map.Entry entry = (Map.Entry)i.next();
             NioSender sender = (NioSender)entry.getValue();
             if ( sender.keepalive() ) {
-                nioSenders.remove(entry.getKey());
+                //nioSenders.remove(entry.getKey());
+                i.remove();
                 result = true;
             } else {
                 try {
@@ -291,7 +292,8 @@ public class ParallelNioSender extends AbstractSender implements MultiPointSende
                 }catch ( IOException x ) {
                     sender.disconnect();
                     sender.reset();
-                    nioSenders.remove(entry.getKey());
+                    //nioSenders.remove(entry.getKey());
+                    i.remove();
                     result = true;
                 }catch ( Exception x ) {
                     log.warn("Error during keepalive test for sender:"+sender,x);