WebServer concurrent request limit is off by one
------------------------------------------------

                 Key: XMLRPC-161
                 URL: https://issues.apache.org/jira/browse/XMLRPC-161
             Project: XML-RPC
          Issue Type: Bug
    Affects Versions: 3.1.1
            Reporter: Mark Gertsvolf
             Fix For: unspecified


If thread limit is set to N, N+1 requests can be processed simmultaneousely. 
Every time the limit is crossed a new thread is created for the N+1st request 
and is destroyed after the processing is finished.

Proposed patch:

Index: 
/var/opt/apachews/trunk/common/src/main/java/org/apache/xmlrpc/util/ThreadPool.java
===================================================================
--- 
/var/opt/apachews/trunk/common/src/main/java/org/apache/xmlrpc/util/ThreadPool.java
 (revision 720508)
+++ 
/var/opt/apachews/trunk/common/src/main/java/org/apache/xmlrpc/util/ThreadPool.java
 (working copy)
@@ -153,7 +153,7 @@
         * might consider to use the [EMAIL PROTECTED] 
#addTask(ThreadPool.Task)} method instead.
         */
        public synchronized boolean startTask(Task pTask) {
-               if (maxSize != 0  &&  runningThreads.size() > maxSize) {
+               if (maxSize != 0  &&  runningThreads.size() >= maxSize) {
                        return false;
                }
         Poolable poolable;


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to