]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Add additional query datum to the MPMs.
authorWilliam A. Rowe Jr <wrowe@apache.org>
Wed, 27 Jun 2001 17:43:51 +0000 (17:43 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Wed, 27 Jun 2001 17:43:51 +0000 (17:43 +0000)
  Harrie Hazewinkel <harrie@covalent.net>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89433 13f79535-47bb-0310-9956-ffa450edef68

include/ap_mpm.h
server/mpm/beos/beos.c
server/mpm/experimental/perchild/perchild.c
server/mpm/perchild/perchild.c
server/mpm/prefork/prefork.c
server/mpm/spmt_os2/spmt_os2.c
server/mpm/threaded/threaded.c
server/mpm/winnt/mpm_winnt.c

index 8072c823d8e5816f1bff7dfcb9c73b58f978617d..a957f7b947cef02c1f8e57c63aedc46b36dfcdaf 100644 (file)
@@ -158,12 +158,18 @@ AP_DECLARE(apr_status_t) ap_os_create_privileged_process(
                                       /* an MPM is using a dynamic #  */
                                       /* threads or daemons.          */
 
-#define AP_MPMQ_MAX_DAEMONS        1  /* Max # of daemons     */
-#define AP_MPMQ_IS_THREADED        2  /* MPM can do threading */
-#define AP_MPMQ_IS_FORKED          3  /* MPM can do forking   */
-#define AP_MPMQ_HARD_LIMIT_DAEMONS 4  /* The compiled max # deamons   */
-#define AP_MPMQ_HARD_LIMIT_THREADS 5  /* The compiled max # threads   */
-#define AP_MPMQ_MAX_THREADS        6  /* Max # of threads             */
+#define AP_MPMQ_MAX_DAEMONS           1  /* Max # of daemons             */
+#define AP_MPMQ_IS_THREADED           2  /* MPM can do threading         */
+#define AP_MPMQ_IS_FORKED             3  /* MPM can do forking           */
+#define AP_MPMQ_HARD_LIMIT_DAEMONS    4  /* The compiled max # deamons   */
+#define AP_MPMQ_HARD_LIMIT_THREADS    5  /* The compiled max # threads   */
+#define AP_MPMQ_MAX_THREADS           6  /* Max # of threads             */
+#define AP_MPMQ_MIN_SPARE_DEAMONS     7  /* Min # of spare daemons       */
+#define AP_MPMQ_MIN_SPARE_THREADS     8  /* Min # of spare threads       */
+#define AP_MPMQ_MAX_SPARE_DAEMONS     9  /* Max # of spare daemons       */
+#define AP_MPMQ_MAX_SPARE_THREADS    10  /* Max # of spare threads       */
+#define AP_MPMQ_MAX_REQUESTS_DEAMON  11  /* Max # of requests per daemon */
+
 
 /**
  * Query a property of the current MPM.  
index fcbb638c77d2ccbeff6157cf38e62c42f8a4081d..733473cf583fb43702a80a9d7f516b523d1fd310 100644 (file)
@@ -671,6 +671,21 @@ AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result)
         case AP_MPMQ_MAX_THREADS:
             *result = ap_threads_per_child;
             return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_DEAMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_THREADS:    
+            *result = max_spare_threads;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_DAEMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_THREADS:
+            *result = min_spare_threads;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_REQUESTS_DEAMON:
+            *result = ap_max_requests_per_child;
+            return APR_SUCCESS;
     }
     return APR_ENOTIMPL;
 }
index 49eb9efacd2433ce715c0f33dc42811a1e9b6a42..c33cf6e6a995cc7e96b89c487153586238dfa783 100644 (file)
@@ -240,6 +240,21 @@ AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result)
         case AP_MPMQ_MAX_THREADS:
             *result = max_threads;
             return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_DEAMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_THREADS:    
+            *result = min_spare_threads;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_DAEMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_THREADS:
+            *result = max_spare_threads;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_REQUESTS_DEAMON:
+            *result = max_requests_per_child;
+            return APR_SUCCESS; 
     }
     return APR_ENOTIMPL;
 }
index 49eb9efacd2433ce715c0f33dc42811a1e9b6a42..c33cf6e6a995cc7e96b89c487153586238dfa783 100644 (file)
@@ -240,6 +240,21 @@ AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result)
         case AP_MPMQ_MAX_THREADS:
             *result = max_threads;
             return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_DEAMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_THREADS:    
+            *result = min_spare_threads;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_DAEMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_THREADS:
+            *result = max_spare_threads;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_REQUESTS_DEAMON:
+            *result = max_requests_per_child;
+            return APR_SUCCESS; 
     }
     return APR_ENOTIMPL;
 }
index 58de8c00701a35154e3c81da6a89353d522d12d9..84c74c07b5ab1d7454217192d8a0c6f7b32c79c5 100644 (file)
@@ -333,6 +333,21 @@ AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result)
         case AP_MPMQ_MAX_THREADS:
             *result = 0;
             return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_DEAMONS:
+            *result = ap_daemons_min_free;
+            return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_THREADS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_DAEMONS:
+            *result = ap_daemons_max_free;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_THREADS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_REQUESTS_DEAMON:
+            *result = ap_max_requests_per_child;
+            return APR_SUCCESS;
     }
     return APR_ENOTIMPL;
 }
index 16e7689d72d2caaabe7b721a5d618806b825c820..ce43d2a80e4996fe1a705e6cfa89bbd836198bb6 100644 (file)
@@ -896,6 +896,21 @@ AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result)
         case AP_MPMQ_MAX_THREADS:
             *result = ap_threads_per_child;
             return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_DEAMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_THREADS:    
+            *result = ap_daemons_min_free;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_DAEMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_THREADS:
+            *result = ap_daemons_max_free;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_REQUESTS_DEAMON:
+            *result = ap_max_requests_per_child;
+            return APR_SUCCESS; 
     }
     return APR_ENOTIMPL;
 } 
index e720a8b1ae507fa5ef7017756f254bb36148571d..ec79fda54fec31cbc53955c32d5fbb4d29ca633f 100644 (file)
@@ -200,6 +200,21 @@ AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result)
         case AP_MPMQ_MAX_THREADS:
             *result = ap_threads_per_child;
             return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_DEAMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_THREADS:    
+            *result = min_spare_threads;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_DAEMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_THREADS:
+            *result = max_spare_threads;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_REQUESTS_DEAMON:
+            *result = ap_max_requests_per_child;
+            return APR_SUCCESS;
     }
     return APR_ENOTIMPL;
 }
index 33c1e69e89d0a2bdaf27a8152a64161da7b89f35..ccdb5ae2da4b500e06af4409a3a92c7be9bd9790 100644 (file)
@@ -1549,6 +1549,21 @@ AP_DECLARE(apr_status_t) ap_mpm_query(int query_code, int *result)
         case AP_MPMQ_MAX_THREADS:
             *result = ap_threads_per_child;
             return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_DEAMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MIN_SPARE_THREADS:    
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_DAEMONS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_SPARE_THREADS:
+            *result = 0;
+            return APR_SUCCESS;
+        case AP_MPMQ_MAX_REQUESTS_DEAMON:
+            *result = ap_max_requests_per_child;
+            return APR_SUCCESS;
     }
     return APR_ENOTIMPL;
 }