}
/*
- * This routine is called after the server finishes the configuration
- * process. At this point the module may review and adjust its configuration
- * settings in relation to one another and report any problems. On restart,
- * this routine will be called only once, in the running server process.
+ * This routine is called when the -t command-line option is supplied.
+ * It executes only once, in the startup process, after the check_config
+ * phase and just before the process exits. At this point the module
+ * may output any information useful in configuration testing.
+ */
+static void x_test_config(apr_pool_t *pconf, server_rec *s)
+{
+ apr_file_t *out = NULL;
+
+ apr_file_open_stderr(&out, pconf);
+
+ apr_file_printf(out, "Example module configuration test routine\n");
+}
+
+/*
+ * This routine is called to perform any module-specific log file
+ * openings. It is invoked just before the post_config phase
*
* The return value is OK, DECLINED, or HTTP_mumble. If we return OK, the
* server will still call any remaining modules with an handler for this
* phase.
*/
-static int x_post_config(apr_pool_t *pconf, apr_pool_t *plog,
- apr_pool_t *ptemp, server_rec *s)
+static int x_open_logs(apr_pool_t *pconf, apr_pool_t *plog,
+ apr_pool_t *ptemp, server_rec *s)
{
/*
* Log the call and exit.
*/
- trace_add(NULL, NULL, NULL, "x_post_config()");
+ trace_add(s, NULL, NULL, "x_open_logs()");
return OK;
}
/*
- * This routine is called to perform any module-specific log file
- * openings. It is invoked just before the post_config phase
+ * This routine is called after the server finishes the configuration
+ * process. At this point the module may review and adjust its configuration
+ * settings in relation to one another and report any problems. On restart,
+ * this routine will be called only once, in the running server process.
*
* The return value is OK, DECLINED, or HTTP_mumble. If we return OK, the
* server will still call any remaining modules with an handler for this
* phase.
*/
-static int x_open_logs(apr_pool_t *pconf, apr_pool_t *plog,
- apr_pool_t *ptemp, server_rec *s)
+static int x_post_config(apr_pool_t *pconf, apr_pool_t *plog,
+ apr_pool_t *ptemp, server_rec *s)
{
/*
* Log the call and exit.
*/
- trace_add(s, NULL, NULL, "x_open_logs()");
+ trace_add(NULL, NULL, NULL, "x_post_config()");
return OK;
}
{
ap_hook_pre_config(x_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_check_config(x_check_config, NULL, NULL, APR_HOOK_MIDDLE);
- ap_hook_post_config(x_post_config, NULL, NULL, APR_HOOK_MIDDLE);
+ ap_hook_test_config(x_test_config, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_open_logs(x_open_logs, NULL, NULL, APR_HOOK_MIDDLE);
+ ap_hook_post_config(x_post_config, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_child_init(x_child_init, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_handler(x_handler, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_quick_handler(x_quick_handler, NULL, NULL, APR_HOOK_MIDDLE);