Simplified subrequest finalization.

Now it looks similar to what it was before background subrequests were
introduced in 9552758a786e.
This commit is contained in:
Roman Arutyunyan 2020-02-28 19:54:13 +03:00
parent 3733c6fd70
commit 76ac67b36f

View File

@ -2488,7 +2488,6 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
}
if (r != r->main) {
clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
if (r->buffered || r->postponed) {
@ -2499,32 +2498,14 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
return;
}
if (r->background) {
if (!r->logged) {
if (clcf->log_subrequest) {
ngx_http_log_request(r);
}
r->logged = 1;
} else {
ngx_log_error(NGX_LOG_ALERT, c->log, 0,
"subrequest: \"%V?%V\" logged again",
&r->uri, &r->args);
}
r->done = 1;
ngx_http_finalize_connection(r);
return;
}
pr = r->parent;
if (r == c->data) {
r->main->count--;
if (r == c->data || r->background) {
if (!r->logged) {
clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
if (clcf->log_subrequest) {
ngx_http_log_request(r);
}
@ -2539,6 +2520,13 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
r->done = 1;
if (r->background) {
ngx_http_finalize_connection(r);
return;
}
r->main->count--;
if (pr->postponed && pr->postponed->request == r) {
pr->postponed = pr->postponed->next;
}