From: Jacob Champion Date: Wed, 19 Apr 2017 20:38:26 +0000 (+0000) Subject: PR61009: be as helpful as possible during -V operation X-Git-Tag: 2.5.0-alpha~464 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=58b127de3fa98957fcc9c4d085fc54af5b39565d;p=apache PR61009: be as helpful as possible during -V operation A configtest isn't useful if you're just trying to get compile settings. Move the settings dump up to just after ap_read_config(), which has already done the minimum necessary to figure out which MPM is in use. Even if ap_read_config() failed, still print as many compile settings as we can. The user will see the error log entry on stderr. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1791975 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/main.c b/server/main.c index 351f0f1a56..bda60827ca 100644 --- a/server/main.c +++ b/server/main.c @@ -651,10 +651,22 @@ int main(int argc, const char * const argv[]) } ap_server_conf = ap_read_config(process, ptemp, confname, &ap_conftree); if (!ap_server_conf) { + if (showcompile) { + /* Well, we tried. Show as much as we can, but exit nonzero to + * indicate that something's not right. The cause should have + * already been logged. */ + show_compile_settings(); + } destroy_and_exit_process(process, 1); } apr_pool_cleanup_register(pconf, &ap_server_conf, ap_pool_cleanup_set_null, apr_pool_cleanup_null); + + if (showcompile) { /* deferred due to dynamically loaded MPM */ + show_compile_settings(); + destroy_and_exit_process(process, 0); + } + /* sort hooks here to make sure pre_config hooks are sorted properly */ apr_hook_sort_all(); @@ -683,10 +695,7 @@ int main(int argc, const char * const argv[]) } if (ap_run_mode != AP_SQ_RM_NORMAL) { - if (showcompile) { /* deferred due to dynamically loaded MPM */ - show_compile_settings(); - } - else if (showdirectives) { /* deferred in case of DSOs */ + if (showdirectives) { /* deferred in case of DSOs */ ap_show_directives(); destroy_and_exit_process(process, 0); }