My suggestion for a 7.0.28 is to have -1 for the default value of maxConnections for APR. This disables maxConnections until we have a better grip on it.
Changing it to track closures is quite a surgery, something I would do for trunk, but leave out of 7.0.x. This leaves existing code flow intact, but changes parameter types everywhere. Actually rewriting the code to ensure it never gets called more than once without tracking it, seems a bit risky. I ran unit tests with the same fix, > -----Original Message----- > From: ma...@apache.org [mailto:ma...@apache.org] > Sent: Wednesday, June 13, 2012 12:29 PM > To: dev@tomcat.apache.org > Subject: svn commit: r1349984 - > /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java > > Author: markt > Date: Wed Jun 13 18:29:07 2012 > New Revision: 1349984 > > URL: http://svn.apache.org/viewvc?rev=1349984&view=rev > Log: > Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53173 > Remove some duplicate calls to countDownConnection() > While the connector is running, destroySocket() will call > countDownConnection() > Once the connector is stopped, the latch is removed so it does not > matter that destroySocket() does not call countDownConnection() in that > case > > Modified: > tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java > > Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/ne > t/AprEndpoint.java?rev=1349984&r1=1349983&r2=1349984&view=diff > ======================================================================== > ====== > --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java > (original) > +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed > Jun 13 18:29:07 2012 > @@ -981,12 +981,10 @@ public class AprEndpoint extends Abstrac > if (running && !paused) { > // Hand this socket off to an appropriate > processor > if (!processSocketWithOptions(socket)) { > - countDownConnection(); > // Close socket and pool right away > destroySocket(socket); > } > } else { > - countDownConnection(); > // Close socket and pool right away > destroySocket(socket); > } > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org