check if there is more room, in case limit(x) has been called
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 4 Feb 2008 20:23:40 +0000 (20:23 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 4 Feb 2008 20:23:40 +0000 (20:23 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@618420 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/coyote/http11/InternalNioOutputBuffer.java

index d6788dd..8cf4529 100644 (file)
@@ -794,7 +794,7 @@ public class InternalNioOutputBuffer
             byte[] b = chunk.getBuffer();
             while (len > 0) {
                 int thisTime = len;
-                if (socket.getBufHandler().getWriteBuffer().position() == socket.getBufHandler().getWriteBuffer().capacity()) {
+                if (socket.getBufHandler().getWriteBuffer().position() == socket.getBufHandler().getWriteBuffer().capacity() ||socket.getBufHandler().getWriteBuffer().remaining()==0) {
                     flushBuffer();
                 }
                 if (thisTime > socket.getBufHandler().getWriteBuffer().remaining()) {