mturk 2005/06/14 01:23:25 Modified: util/java/org/apache/tomcat/util/net AprEndpoint.java Log: Change the way how maintain is called. There is no need to call the maintain on each TIMEUP. Revision Changes Path 1.44 +9 -10 jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java Index: AprEndpoint.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/net/AprEndpoint.java,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- AprEndpoint.java 14 Jun 2005 07:43:29 -0000 1.43 +++ AprEndpoint.java 14 Jun 2005 08:23:25 -0000 1.44 @@ -834,12 +834,13 @@ */ public void run() { + long maintainTime = 0; // Loop until we receive a shutdown command while (running) { - long maintainTime = 0; // Loop if endpoint is paused while (paused) { try { + // TODO: We can easly do the maintenance here Thread.sleep(1000); } catch (InterruptedException e) { // Ignore @@ -847,6 +848,8 @@ } while (keepAliveCount < 1 && addCount < 1) { + // Reset maintain time. + maintainTime = 0; try { synchronized (addS) { addS.wait(); @@ -873,6 +876,7 @@ addCount = 0; } } + maintainTime += pollTime; // Pool for the specified interval int rv = Poll.poll(serverPollset, pollTime, desc, true); if (rv > 0) { @@ -888,12 +892,9 @@ // Hand this socket off to a worker getWorkerThread().assign(desc[n*4+1], desc[n*4+2]); } - maintainTime += pollTime; } else if (rv < 0) { /* Any non timeup error is critical */ - if (-rv == Status.TIMEUP) - rv = 0; - else { + if (-rv != Status.TIMEUP) { log.error(sm.getString("endpoint.poll.fail")); // Handle poll critical failure synchronized (this) { @@ -902,11 +903,9 @@ } } } - if (rv == 0 || maintainTime > 1000000L) { - synchronized (addS) { - rv = Poll.maintain(serverPollset, desc, true); - maintainTime = 0; - } + if (maintainTime > 1000000L) { + rv = Poll.maintain(serverPollset, desc, true); + maintainTime = 0; if (rv > 0) { keepAliveCount -= rv; for (int n = 0; n < rv; n++) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]