From: fhanik Date: Thu, 31 May 2007 19:44:27 +0000 (+0000) Subject: consolidate the usage of the NioChannel buffers X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=71549a15328b0191f5fc002ab0ea7cf28b35a280;p=tomcat7.0 consolidate the usage of the NioChannel buffers git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@543228 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/tomcat/util/net/NioBlockingSelector.java b/java/org/apache/tomcat/util/net/NioBlockingSelector.java index a629613ac..4190527d0 100644 --- a/java/org/apache/tomcat/util/net/NioBlockingSelector.java +++ b/java/org/apache/tomcat/util/net/NioBlockingSelector.java @@ -48,10 +48,6 @@ public class NioBlockingSelector { 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 diff --git a/java/org/apache/tomcat/util/net/NioSelectorPool.java b/java/org/apache/tomcat/util/net/NioSelectorPool.java index 19981053a..9b88631a5 100644 --- a/java/org/apache/tomcat/util/net/NioSelectorPool.java +++ b/java/org/apache/tomcat/util/net/NioSelectorPool.java @@ -29,7 +29,6 @@ import java.util.concurrent.atomic.AtomicInteger; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.MutableInteger; -import java.util.Iterator; /** * @@ -138,6 +137,10 @@ public class NioSelectorPool { public int write(ByteBuffer buf, NioChannel socket, Selector selector, long writeTimeout, boolean block,MutableInteger lastWrite) throws IOException { + if (socket.getBufHandler().getWriteBuffer() != buf) { + socket.getBufHandler().getWriteBuffer().put(buf); + buf = socket.getBufHandler().getWriteBuffer(); + } if ( SHARED && block ) { return NioBlockingSelector.write(buf,socket,writeTimeout,lastWrite); } @@ -146,10 +149,6 @@ 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() ) { int cnt = 0;