sorry, I'm just now getting around to following up on this :)
William A. Rowe, Jr. wrote:
At 07:02 PM 7/9/2003, Geoffrey Young wrote:
William A. Rowe, Jr. wrote:
It seems like the API for ap_mpm_query would be simpler to follow, just extended to run outside-of-apache.
probably, and it would certainly be safer than checking -V output. the issue I see with this is that thus far Apache-Test is pure perl, so it seems overkill to get into the C API and XS for just for one small feature. unless I'm missing something, that is :)
You are :-) It sounds like httpd -V should grow some ap_mpm_query output for the user to know what sorts of flags are toggled for that build of httpd?
did you mean something like this?
Server version: Apache/2.1.0-dev
Server built: Aug 12 2003 02:25:22
Server's Module Magic Number: 20030213:1
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (dynamic)
Server compiled with....Server version: Apache/2.1.0-dev
Server built: Aug 12 2003 02:28:54
Server's Module Magic Number: 20030213:1
Architecture: 32-bit
Server MPM: Worker
threaded: yes (static)
forked: yes (dynamic)
Server compiled with....--Geoff
Index: server/main.c =================================================================== RCS file: /home/cvspublic/httpd-2.0/server/main.c,v retrieving revision 1.144 diff -u -r1.144 main.c --- server/main.c 22 Feb 2003 14:32:39 -0000 1.144 +++ server/main.c 12 Aug 2003 14:27:13 -0000 @@ -85,7 +85,40 @@ * Most significant main() global data can be found in http_config.c */
-/* XXX - We should be able to grab the per-MPM settings here too */
+static void show_mpm_settings(void)
+{
+ int mpm_query_info;
+
+ printf("Server MPM: %s\n", ap_show_mpm());
+
+ ap_mpm_query(AP_MPMQ_IS_THREADED, &mpm_query_info);
+
+ printf(" threaded: ");
+
+ if (mpm_query_info == AP_MPMQ_DYNAMIC) {
+ printf("yes (dynamic)\n");
+ }
+ else if (mpm_query_info == AP_MPMQ_STATIC) {
+ printf("yes (static)\n");
+ }
+ else {
+ printf("no\n");
+ }
+
+ ap_mpm_query(AP_MPMQ_IS_FORKED, &mpm_query_info);
+ printf(" forked: ");
+
+ if (mpm_query_info == AP_MPMQ_DYNAMIC) {
+ printf("yes (dynamic)\n");
+ }
+ else if (mpm_query_info == AP_MPMQ_STATIC) {
+ printf("yes (static)\n");
+ }
+ else {
+ printf("no\n");
+ }
+}
+
static void show_compile_settings(void)
{
printf("Server version: %s\n", ap_get_server_version());
@@ -98,6 +131,9 @@
* consistent
*/
printf("Architecture: %ld-bit\n", 8 * (long)sizeof(void *));
+
+ show_mpm_settings();
+
printf("Server compiled with....\n");
#ifdef BIG_SECURITY_HOLE
printf(" -D BIG_SECURITY_HOLE\n");