Author: edeoliveira
Date: Mon Jun 22 17:53:52 2009
New Revision: 787330

URL: http://svn.apache.org/viewvc?rev=787330&view=rev
Log:
Fix DIRMINA-632

Modified:
    
mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java?rev=787330&r1=787329&r2=787330&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
 Mon Jun 22 17:53:52 2009
@@ -719,12 +719,13 @@
         final int maxWrittenBytes = session.getConfig().getMaxReadBufferSize()
                 + (session.getConfig().getMaxReadBufferSize() >>> 1);
         int writtenBytes = 0;
+        WriteRequest req = null;
         try {
             // Clear OP_WRITE
             setInterestedInWrite(session, false);
             do {
                 // Check for pending writes.
-                WriteRequest req = session.getCurrentWriteRequest();
+                req = session.getCurrentWriteRequest();
                 if (req == null) {
                     req = writeRequestQueue.poll(session);
                     if (req == null) {
@@ -782,6 +783,9 @@
                 }
             } while (writtenBytes < maxWrittenBytes);
         } catch (Exception e) {
+               if (req != null) {
+                       req.getFuture().setException(e);
+               }
             IoFilterChain filterChain = session.getFilterChain();
             filterChain.fireExceptionCaught(e);
             return false;


Reply via email to