aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r--src/http/ngx_http_request.c28
1 files changed, 11 insertions, 17 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 2be20aa0d..e1f0ae793 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -1760,6 +1760,17 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
return;
}
+ clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
+
+ if (r != r->main && !r->logged) {
+
+ if (clcf->log_subrequest) {
+ ngx_http_log_request(r);
+ }
+
+ r->logged = 1;
+ }
+
if (r != r->main || rc == NGX_AGAIN) {
if (ngx_http_set_write_handler(r) != NGX_OK) {
return;
@@ -1775,8 +1786,6 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
return;
}
- clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
-
if (r != r->main) {
pr = r->parent;
@@ -1810,11 +1819,6 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0,
"http fast subrequest: \"%V?%V\" done",
&r->uri, &r->args);
-
- if (clcf->log_subrequest) {
- ngx_http_log_request(r);
- }
-
return;
}
@@ -1823,18 +1827,8 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
"http wake parent request: \"%V?%V\"",
&pr->uri, &pr->args);
- if (clcf->log_subrequest) {
- ngx_http_log_request(r);
- }
-
pr->write_event_handler(pr);
}
-
- return;
- }
-
- if (clcf->log_subrequest) {
- ngx_http_log_request(r);
}
return;