Author: trustin
Date: Thu Jul 5 00:22:25 2007
New Revision: 553400
URL: http://svn.apache.org/viewvc?view=rev&rev=553400
Log:
Fixed DIRMINA-374 (ArrayIndexOutOfBoundException in SocketAcceptor and
SocketConnector)
* Applied Srikanth Veeramachaneni's solution
Modified:
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
Modified:
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java?view=diff&rev=553400&r1=553399&r2=553400
==============================================================================
---
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
(original)
+++
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketAcceptor.java
Thu Jul 5 00:22:25 2007
@@ -336,12 +336,12 @@
private SocketIoProcessor nextProcessor()
{
- if ( processorDistributor++ < 0 )
- {
- processorDistributor = 0;
- }
-
- return ioProcessors[processorDistributor % processorCount];
+ if ( this.processorDistributor == Integer.MAX_VALUE )
+ {
+ this.processorDistributor = Integer.MAX_VALUE %
this.processorCount;
+ }
+
+ return ioProcessors[processorDistributor++ % processorCount];
}
public SocketAcceptorConfig getDefaultConfig()
Modified:
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java?view=diff&rev=553400&r1=553399&r2=553400
==============================================================================
---
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
(original)
+++
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
Thu Jul 5 00:22:25 2007
@@ -371,12 +371,12 @@
private SocketIoProcessor nextProcessor()
{
- if ( processorDistributor++ < 0 )
- {
- processorDistributor = 0;
- }
-
- return ioProcessors[processorDistributor % processorCount];
+ if ( this.processorDistributor == Integer.MAX_VALUE )
+ {
+ this.processorDistributor = Integer.MAX_VALUE %
this.processorCount;
+ }
+
+ return ioProcessors[processorDistributor++ % processorCount];
}
private class Worker implements Runnable