Author: fhanik Date: Mon Dec 8 07:52:23 2008 New Revision: 724384 URL: http://svn.apache.org/viewvc?rev=724384&view=rev Log: implement a bit cleanup and a rough estimate on the size of a poller
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=724384&r1=724383&r2=724384&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Mon Dec 8 07:52:23 2008 @@ -1280,12 +1280,14 @@ protected CountDownLatch stopLatch = new CountDownLatch(1); - + protected volatile int keyCount = 0; public Poller() throws IOException { this.selector = Selector.open(); } + public int getKeyCount() { return keyCount; } + public Selector getSelector() { return selector;} /** @@ -1380,8 +1382,9 @@ //processSocket(ka.getChannel(), status, dispatch); ka.setComet(false);//to avoid a loop if (status == SocketStatus.TIMEOUT ) { - processSocket(ka.getChannel(), status, true); - return; // don't close on comet timeout + if (processSocket(ka.getChannel(), status, true)) { + return; // don't close on comet timeout + } } else { processSocket(ka.getChannel(), status, false); //don't dispatch if the lines below are cancelling the key } @@ -1430,7 +1433,8 @@ //do a non blocking select keyCount = selector.selectNow(); }else { - wakeupCounter.set( -1); + keyCount = selector.keys().size(); + wakeupCounter.set(-1); keyCount = selector.select(selectorTimeout); } wakeupCounter.set(0); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]