Author: fhanik Date: Thu Jul 12 20:40:02 2012 New Revision: 1360917 URL: http://svn.apache.org/viewvc?rev=1360917&view=rev Log: Fix timeout according to Javadoc
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java?rev=1360917&r1=1360916&r2=1360917&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java Thu Jul 12 20:40:02 2012 @@ -196,8 +196,10 @@ public class NioSelectorPool { //register OP_WRITE to the selector if (key==null) key = socket.getIOChannel().register(selector, SelectionKey.OP_WRITE); else key.interestOps(SelectionKey.OP_WRITE); - if (writeTimeout<=0) { - keycount = selector.selectNow(); + if (writeTimeout==0) { + timedout = buf.hasRemaining(); + } else if (writeTimeout<0) { + selector.select(); } else { keycount = selector.select(writeTimeout); } @@ -268,8 +270,10 @@ public class NioSelectorPool { //register OP_WRITE to the selector if (key==null) key = socket.getIOChannel().register(selector, SelectionKey.OP_READ); else key.interestOps(SelectionKey.OP_READ); - if (readTimeout<=0) { - keycount = selector.selectNow(); + if (readTimeout==0) { + timedout = (read==0); + } else if (readTimeout<0) { + selector.select(); } else { keycount = selector.select(readTimeout); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org