Revert r830965 and restore the automatic disabling of HTTP keep-alive once 75% of...
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 5 May 2011 14:29:04 +0000 (14:29 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 5 May 2011 14:29:04 +0000 (14:29 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1099820 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/coyote/http11/Http11Processor.java

index 80c3910..c44c824 100644 (file)
@@ -171,6 +171,20 @@ public class Http11Processor extends AbstractHttp11Processor {
         
         int soTimeout = endpoint.getSoTimeout();
 
+        int threadRatio = -1;   
+        // These may return zero or negative values     
+        // Only calculate a thread ratio when both are >0 to ensure we get a    
+        // sensible result      
+        if (endpoint.getCurrentThreadsBusy() >0 &&      
+                endpoint.getMaxThreads() >0) {      
+            threadRatio = (endpoint.getCurrentThreadsBusy() * 100)      
+                    / endpoint.getMaxThreads();     
+        }   
+        // Disable keep-alive if we are running low on threads      
+        if (threadRatio > 75) {     
+            keepAliveLeft = 1;      
+        }
+
         try {
             socket.getSocket().setSoTimeout(soTimeout);
         } catch (Throwable t) {