From: William A. Rowe Jr Date: Wed, 27 Jun 2001 17:43:51 +0000 (+0000) Subject: Add additional query datum to the MPMs. X-Git-Tag: 2.0.19~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a5c5c4965d6a2926c94bb0b05a021498b425be5;p=thirdparty%2Fapache%2Fhttpd.git Add additional query datum to the MPMs. Harrie Hazewinkel git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89433 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/include/ap_mpm.h b/include/ap_mpm.h index 8072c823d8e..a957f7b947c 100644 --- a/include/ap_mpm.h +++ b/include/ap_mpm.h @@ -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. diff --git a/server/mpm/beos/beos.c b/server/mpm/beos/beos.c index fcbb638c77d..733473cf583 100644 --- a/server/mpm/beos/beos.c +++ b/server/mpm/beos/beos.c @@ -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; } diff --git a/server/mpm/experimental/perchild/perchild.c b/server/mpm/experimental/perchild/perchild.c index 49eb9efacd2..c33cf6e6a99 100644 --- a/server/mpm/experimental/perchild/perchild.c +++ b/server/mpm/experimental/perchild/perchild.c @@ -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; } diff --git a/server/mpm/perchild/perchild.c b/server/mpm/perchild/perchild.c index 49eb9efacd2..c33cf6e6a99 100644 --- a/server/mpm/perchild/perchild.c +++ b/server/mpm/perchild/perchild.c @@ -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; } diff --git a/server/mpm/prefork/prefork.c b/server/mpm/prefork/prefork.c index 58de8c00701..84c74c07b5a 100644 --- a/server/mpm/prefork/prefork.c +++ b/server/mpm/prefork/prefork.c @@ -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; } diff --git a/server/mpm/spmt_os2/spmt_os2.c b/server/mpm/spmt_os2/spmt_os2.c index 16e7689d72d..ce43d2a80e4 100644 --- a/server/mpm/spmt_os2/spmt_os2.c +++ b/server/mpm/spmt_os2/spmt_os2.c @@ -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; } diff --git a/server/mpm/threaded/threaded.c b/server/mpm/threaded/threaded.c index e720a8b1ae5..ec79fda54fe 100644 --- a/server/mpm/threaded/threaded.c +++ b/server/mpm/threaded/threaded.c @@ -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; } diff --git a/server/mpm/winnt/mpm_winnt.c b/server/mpm/winnt/mpm_winnt.c index 33c1e69e89d..ccdb5ae2da4 100644 --- a/server/mpm/winnt/mpm_winnt.c +++ b/server/mpm/winnt/mpm_winnt.c @@ -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; }