You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2005/03/20 04:14:41 UTC
svn commit: r158285 -
directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java
Author: trustin
Date: Sat Mar 19 19:14:40 2005
New Revision: 158285
URL: http://svn.apache.org/viewcvs?view=rev&rev=158285
Log:
Fixed spinning loop while kernel socket buffer is full.
Modified:
directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java
Modified: directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java
URL: http://svn.apache.org/viewcvs/directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java?view=diff&r1=158284&r2=158285
==============================================================================
--- directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java (original)
+++ directory/network/trunk/src/java/org/apache/mina/io/socket/SocketIoProcessor.java Sat Mar 19 19:14:40 2005
@@ -439,6 +439,13 @@
}
finally
{
+ if( writtenBytes > 0 )
+ {
+ session.increaseWrittenBytes( writtenBytes );
+ session.setIdle( IdleStatus.BOTH_IDLE, false );
+ session.setIdle( IdleStatus.WRITER_IDLE, false );
+ }
+
SelectionKey key = session.getSelectionKey();
if( buf.hasRemaining() )
{
@@ -446,18 +453,12 @@
key
.interestOps( key.interestOps()
| SelectionKey.OP_WRITE );
+ break;
}
else
{
key.interestOps( key.interestOps()
& ( ~SelectionKey.OP_WRITE ) );
- }
-
- if( writtenBytes > 0 )
- {
- session.increaseWrittenBytes( writtenBytes );
- session.setIdle( IdleStatus.BOTH_IDLE, false );
- session.setIdle( IdleStatus.WRITER_IDLE, false );
}
}
}