Author: markt Date: Mon Oct 27 15:04:51 2008 New Revision: 708344 URL: http://svn.apache.org/viewvc?rev=708344&view=rev Log: Expose deferAccept for APR HTTP connector. I did consider adding this to the AJP connector as well but since this is to work around a buggy client and we control the client in the AJP case, I couldn't see a need for it. Patch provided by Michael Leinartas.
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java tomcat/trunk/webapps/docs/config/ajp.xml Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=708344&r1=708343&r2=708344&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Mon Oct 27 15:04:51 2008 @@ -250,7 +250,10 @@ public void setSendfileThreadCount(int sendfileThreadCount) { endpoint.setSendfileThreadCount(sendfileThreadCount); } public int getSendfileThreadCount() { return endpoint.getSendfileThreadCount(); } - + + public boolean getDeferAccept() { return endpoint.getDeferAccept(); } + public void setDeferAccept(boolean deferAccept) { endpoint.setDeferAccept(deferAccept); } + protected int socketBuffer = 9000; public int getSocketBuffer() { return socketBuffer; } public void setSocketBuffer(int socketBuffer) { this.socketBuffer = socketBuffer; } Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=708344&r1=708343&r2=708344&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Mon Oct 27 15:04:51 2008 @@ -156,15 +156,17 @@ protected long sslContext = 0; + // ------------------------------------------------------------- Properties + + /** * Defer accept. */ protected boolean deferAccept = true; + public void setDeferAccept(boolean deferAccept) { this.deferAccept = deferAccept; } + public boolean getDeferAccept() { return deferAccept; } - // ------------------------------------------------------------- Properties - - /** * External Executor based thread pool. */ @@ -659,8 +661,10 @@ // Delay accepting of new connections until data is available // Only Linux kernels 2.4 + have that implemented // on other platforms this call is noop and will return APR_ENOTIMPL. - if (Socket.optSet(serverSock, Socket.APR_TCP_DEFER_ACCEPT, 1) == Status.APR_ENOTIMPL) { - deferAccept = false; + if (deferAccept) { + if (Socket.optSet(serverSock, Socket.APR_TCP_DEFER_ACCEPT, 1) == Status.APR_ENOTIMPL) { + deferAccept = false; + } } // Initialize SSL if needed Modified: tomcat/trunk/webapps/docs/config/ajp.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/ajp.xml?rev=708344&r1=708343&r2=708344&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/config/ajp.xml (original) +++ tomcat/trunk/webapps/docs/config/ajp.xml Mon Oct 27 15:04:51 2008 @@ -236,6 +236,13 @@ presented. The default value is infinite (i.e. no timeout).</p> </attribute> + <attribute name="deferAccept" required="false"> + <p>Sets the <code>TCP_DEFER_ACCEPT</code> flag on the listening socket for + this connector. The default value is <code>true</code> where + <code>TCP_DEFER_ACCEPT</code> is supported by the operating system, + otherwise it is <code>false</code>.</p> + </attribute> + <attribute name="executor" required="false"> <p>A reference to the name in an <a href="executor.html">Executor</a> element. If this attribute is enabled, and the named executor exists, the connector will --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]