Author: markt Date: Tue Mar 10 20:44:56 2015 New Revision: 1665682 URL: http://svn.apache.org/r1665682 Log: Follow-up to r1665297 Correct output loop. Forgot to increment offset for subsequent writes.
Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java?rev=1665682&r1=1665681&r2=1665682&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/ajp/AjpNioProcessor.java Tue Mar 10 20:44:56 2015 @@ -302,11 +302,11 @@ public class AjpNioProcessor extends Abs ByteBuffer writeBuffer = socketWrapper.getSocket().getBufHandler().getWriteBuffer(); - int left = length; + int thisTime = 0; int written = 0; - while (left > 0) { - int toWrite = Math.min(left, writeBuffer.remaining()); - writeBuffer.put(src, offset, toWrite); + while (written < length) { + int toWrite = Math.min(length - written, writeBuffer.remaining()); + writeBuffer.put(src, offset + written, toWrite); writeBuffer.flip(); @@ -318,13 +318,13 @@ public class AjpNioProcessor extends Abs //ignore } try { - written = pool.write(writeBuffer, socketWrapper.getSocket(), + thisTime = pool.write(writeBuffer, socketWrapper.getSocket(), selector, writeTimeout, true); } finally { writeBuffer.clear(); if ( selector != null ) pool.put(selector); } - left -= written; + written += thisTime; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org