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");