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 );
                 }
             }
         }