]> granicus.if.org Git - apache/commitdiff
We need to flush all logs when the child exits. To do this, we just
authorRyan Bloom <rbb@apache.org>
Mon, 9 Oct 2000 23:35:12 +0000 (23:35 +0000)
committerRyan Bloom <rbb@apache.org>
Mon, 9 Oct 2000 23:35:12 +0000 (23:35 +0000)
create a child_init hook, and use it to register a cleanup for child
exit.
PR: 6550

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

modules/loggers/mod_log_config.c

index 543b3e20edae94948907d024986f42e3d6eee00e..271619d135a4b251626f994e31fe767307cb44d5 100644 (file)
@@ -1149,6 +1149,10 @@ static void init_config_log(apr_pool_t *pc, apr_pool_t *p, apr_pool_t *pt, serve
     for (s = s->next; s; s = s->next) {
         open_multi_logs(s, p);
     }
+}
+
+static void init_child(apr_pool_t *p, server_rec *s)
+{
 #ifdef BUFFERED_LOGS
        /* Now register the last buffer flush with the cleanup engine */
        apr_register_cleanup(p, s, flush_all_logs, flush_all_logs);
@@ -1157,6 +1161,7 @@ static void init_config_log(apr_pool_t *pc, apr_pool_t *p, apr_pool_t *pt, serve
 
 static void register_hooks(void)
 {
+    ap_hook_child_init(init_child,NULL,NULL,AP_HOOK_MIDDLE);
     ap_hook_open_logs(init_config_log,NULL,NULL,AP_HOOK_MIDDLE);
     ap_hook_log_transaction(multi_log_transaction,NULL,NULL,AP_HOOK_MIDDLE);
 }