You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ed...@apache.org on 2009/06/22 19:53:52 UTC
svn commit: r787330 -
/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
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;