Commit ea9402fa authored by Jacob Champion's avatar Jacob Champion
Browse files

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
parent e2b9501a
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -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);
            }