Fix for bugzilla 41466
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 28 Jan 2007 21:35:53 +0000 (21:35 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 28 Jan 2007 21:35:53 +0000 (21:35 +0000)
When using the NioChannel and SecureNioChannel its important to use the channels buffers

git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@500892 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/tomcat/util/net/NioSelectorPool.java

index fe6127c..cc8a0d7 100644 (file)
@@ -103,6 +103,10 @@ public class NioSelectorPool {
         boolean timedout = false;
         int keycount = 1; //assume we can write
         long time = System.currentTimeMillis(); //start the timeout timer
+        if ( socket.getBufHandler().getWriteBuffer()!= buf ) {
+            socket.getBufHandler().getWriteBuffer().put(buf);
+            buf = socket.getBufHandler().getWriteBuffer();
+        }
         try {
             while ( (!timedout) && buf.hasRemaining() ) {
                 if ( keycount > 0 ) { //only write if we were registered for a write