]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
add example test_config routine
authorChris Darroch <chrisd@apache.org>
Tue, 17 Oct 2006 17:25:07 +0000 (17:25 +0000)
committerChris Darroch <chrisd@apache.org>
Tue, 17 Oct 2006 17:25:07 +0000 (17:25 +0000)
re-order config routines to match invocation order

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@464968 13f79535-47bb-0310-9956-ffa450edef68

modules/experimental/mod_example.c

index f296d99f447563f041202d6c3c6c8bae62535728..ffec07ae1ef2c540a00f412ee6be03e1de29f0fd 100644 (file)
@@ -850,40 +850,55 @@ static int x_check_config(apr_pool_t *pconf, apr_pool_t *plog,
 }
 
 /*
- * 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;
 }
 
@@ -1298,8 +1313,9 @@ static void x_register_hooks(apr_pool_t *p)
 {
     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);