diff --git a/src/http/modules/ngx_http_charset_filter.c b/src/http/modules/ngx_http_charset_filter.c
index bcddc92..50642ef 100644
--- a/src/http/modules/ngx_http_charset_filter.c
+++ b/src/http/modules/ngx_http_charset_filter.c
@@ -9,10 +9,10 @@
 } ngx_http_charset_loc_conf_t;
 
 
+static int ngx_http_charset_filter_init(ngx_cycle_t *cycle);
 static void *ngx_http_charset_create_loc_conf(ngx_pool_t *pool);
 static char *ngx_http_charset_merge_loc_conf(ngx_pool_t *pool,
                                              void *parent, void *child);
-static int ngx_http_charset_filter_init(ngx_cycle_t *cycle, ngx_log_t *log);
 
 
 static ngx_command_t  ngx_http_charset_filter_commands[] = {
@@ -46,8 +46,7 @@
     ngx_http_charset_filter_commands,      /* module directives */
     NGX_HTTP_MODULE,                       /* module type */
     ngx_http_charset_filter_init,          /* init module */
-    NULL,                                  /* commit module */
-    NULL                                   /* rollback module */
+    NULL                                   /* init child */
 };
 
 
@@ -87,7 +86,7 @@
 #endif
 
 
-static int ngx_http_charset_filter_init(ngx_cycle_t *cycle, ngx_log_t *log)
+static int ngx_http_charset_filter_init(ngx_cycle_t *cycle)
 {
     next_header_filter = ngx_http_top_header_filter;
     ngx_http_top_header_filter = ngx_http_charset_header_filter;
diff --git a/src/http/modules/ngx_http_chunked_filter.c b/src/http/modules/ngx_http_chunked_filter.c
index 09b480b..8ace7dc 100644
--- a/src/http/modules/ngx_http_chunked_filter.c
+++ b/src/http/modules/ngx_http_chunked_filter.c
@@ -4,7 +4,7 @@
 #include <ngx_http.h>
 
 
-static int ngx_http_chunked_filter_init(ngx_cycle_t *cycle, ngx_log_t *log);
+static int ngx_http_chunked_filter_init(ngx_cycle_t *cycle);
 
 
 static ngx_http_module_t  ngx_http_chunked_filter_module_ctx = {
@@ -25,8 +25,7 @@
     NULL,                                  /* module directives */
     NGX_HTTP_MODULE,                       /* module type */
     ngx_http_chunked_filter_init,          /* init module */
-    NULL,                                  /* commit module */
-    NULL                                   /* rollback module */
+    NULL                                   /* init child */
 };
 
 
@@ -119,7 +118,7 @@
 }
 
 
-static int ngx_http_chunked_filter_init(ngx_cycle_t *cycle, ngx_log_t *log)
+static int ngx_http_chunked_filter_init(ngx_cycle_t *cycle)
 {
     next_header_filter = ngx_http_top_header_filter;
     ngx_http_top_header_filter = ngx_http_chunked_header_filter;
diff --git a/src/http/modules/ngx_http_index_handler.c b/src/http/modules/ngx_http_index_handler.c
index 9af0121..7051480 100644
--- a/src/http/modules/ngx_http_index_handler.c
+++ b/src/http/modules/ngx_http_index_handler.c
@@ -14,7 +14,7 @@
 
 
 static int ngx_http_index_test_dir(ngx_http_request_t *r);
-static int ngx_http_index_init(ngx_cycle_t *cycle, ngx_log_t *log);
+static int ngx_http_index_init(ngx_cycle_t *cycle);
 static void *ngx_http_index_create_conf(ngx_pool_t *pool);
 static char *ngx_http_index_merge_conf(ngx_pool_t *p, void *parent,
                                                                   void *child);
@@ -53,8 +53,7 @@
     ngx_http_index_commands,               /* module directives */
     NGX_HTTP_MODULE,                       /* module type */
     ngx_http_index_init,                   /* init module */
-    NULL,                                  /* commit module */
-    NULL                                   /* rollback module */
+    NULL                                   /* init child */
 };
 
 
@@ -204,7 +203,7 @@
 }
 
 
-static int ngx_http_index_init(ngx_cycle_t *cycle, ngx_log_t *log)
+static int ngx_http_index_init(ngx_cycle_t *cycle)
 {
     ngx_http_handler_pt        *h;
     ngx_http_conf_ctx_t        *ctx;
diff --git a/src/http/modules/ngx_http_range_filter.c b/src/http/modules/ngx_http_range_filter.c
index 125551e..26c40c5 100644
--- a/src/http/modules/ngx_http_range_filter.c
+++ b/src/http/modules/ngx_http_range_filter.c
@@ -9,7 +9,7 @@
 } ngx_http_range_filter_ctx_t;
 
 
-static int ngx_http_range_filter_init(ngx_cycle_t *cycle, ngx_log_t *log);
+static int ngx_http_range_filter_init(ngx_cycle_t *cycle);
 
 
 static ngx_http_module_t  ngx_http_range_filter_module_ctx = {
@@ -30,8 +30,7 @@
     NULL,                                  /* module directives */
     NGX_HTTP_MODULE,                       /* module type */
     ngx_http_range_filter_init,            /* init module */
-    NULL,                                  /* commit module */
-    NULL                                   /* rollback module */
+    NULL                                   /* init child */
 };
 
 
@@ -356,7 +355,7 @@
 }
 
 
-static int ngx_http_range_filter_init(ngx_cycle_t *cycle, ngx_log_t *log)
+static int ngx_http_range_filter_init(ngx_cycle_t *cycle)
 {
     next_header_filter = ngx_http_top_header_filter;
     ngx_http_top_header_filter = ngx_http_range_header_filter;
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index a1ea12a..b9a8528 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -464,7 +464,7 @@
             ls->nonblocking = 1;
 
             ls->handler = ngx_http_init_connection;
-            ls->log = cf->log;
+            ls->log = cf->cycle->log;
 
             cscf = in_addr[a].core_srv_conf;
             ls->pool_size = cscf->connection_pool_size;
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 8e9a966..7823eca 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -20,7 +20,7 @@
 static char *ngx_http_core_merge_loc_conf(ngx_pool_t *pool,
                                           void *parent, void *child);
 
-static int ngx_http_core_init(ngx_cycle_t *cycle, ngx_log_t *log);
+static int ngx_http_core_init(ngx_cycle_t *cycle);
 static char *ngx_server_block(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy);
 static int ngx_cmp_locations(const void *first, const void *second);
 static char *ngx_location_block(ngx_conf_t *cf, ngx_command_t *cmd,
@@ -187,8 +187,7 @@
     ngx_http_core_commands,                /* module directives */
     NGX_HTTP_MODULE,                       /* module type */
     ngx_http_core_init,                    /* init module */
-    NULL,                                  /* commit module */
-    NULL                                   /* rollback module */
+    NULL                                   /* init child */
 };
 
 
@@ -529,7 +528,7 @@
 }
 
 
-static int ngx_http_core_init(ngx_cycle_t *cycle, ngx_log_t *log)
+static int ngx_http_core_init(ngx_cycle_t *cycle)
 {
     ngx_http_handler_pt        *h;
     ngx_http_conf_ctx_t        *ctx;
diff --git a/src/http/ngx_http_header_filter.c b/src/http/ngx_http_header_filter.c
index aa200c1..a34fdce 100644
--- a/src/http/ngx_http_header_filter.c
+++ b/src/http/ngx_http_header_filter.c
@@ -11,7 +11,7 @@
 
 
 
-static int ngx_http_header_filter_init(ngx_cycle_t *cycle, ngx_log_t *log);
+static int ngx_http_header_filter_init(ngx_cycle_t *cycle);
 static int ngx_http_header_filter(ngx_http_request_t *r);
 
 
@@ -33,8 +33,7 @@
     NULL,                                  /* module directives */
     NGX_HTTP_MODULE,                       /* module type */
     ngx_http_header_filter_init,           /* init module */
-    NULL,                                  /* commit module */
-    NULL                                   /* rollback module */
+    NULL                                   /* init child */
 };
 
 
@@ -389,7 +388,7 @@
 }
 
 
-static int ngx_http_header_filter_init(ngx_cycle_t *cycle, ngx_log_t *log)
+static int ngx_http_header_filter_init(ngx_cycle_t *cycle)
 {
     ngx_http_top_header_filter = ngx_http_header_filter;
     return NGX_OK;
diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c
index fc96b07..1a9f928 100644
--- a/src/http/ngx_http_write_filter.c
+++ b/src/http/ngx_http_write_filter.c
@@ -18,7 +18,7 @@
 static void *ngx_http_write_filter_create_conf(ngx_pool_t *pool);
 static char *ngx_http_write_filter_merge_conf(ngx_pool_t *pool,
                                               void *parent, void *child);
-static int ngx_http_write_filter_init(ngx_cycle_t *cycle, ngx_log_t *log);
+static int ngx_http_write_filter_init(ngx_cycle_t *cycle);
 
 
 static ngx_command_t ngx_http_write_filter_commands[] = {
@@ -52,8 +52,7 @@
     ngx_http_write_filter_commands,        /* module directives */
     NGX_HTTP_MODULE,                       /* module type */
     ngx_http_write_filter_init,            /* init module */
-    NULL,                                  /* commit module */
-    NULL                                   /* rollback module */
+    NULL                                   /* init child */
 };
 
 
@@ -189,7 +188,7 @@
 }
 
 
-static int ngx_http_write_filter_init(ngx_cycle_t *cycle, ngx_log_t *log)
+static int ngx_http_write_filter_init(ngx_cycle_t *cycle)
 {
     ngx_http_top_body_filter = ngx_http_write_filter;
 
