HTTP/2: run posted requests after reading body.
HTTP/2 code failed to run posted requests after calling the request body handler, and this resulted in connection hang if a subrequest was created in the body handler and no other actions were made.
This commit is contained in:
parent
3a97288cad
commit
6fc2fe625a
1 changed files with 4 additions and 0 deletions
|
@ -1058,6 +1058,7 @@ ngx_http_v2_state_read_data(ngx_http_v2_connection_t *h2c, u_char *pos,
|
|||
size_t size;
|
||||
ngx_buf_t *buf;
|
||||
ngx_int_t rc;
|
||||
ngx_connection_t *fc;
|
||||
ngx_http_request_t *r;
|
||||
ngx_http_v2_stream_t *stream;
|
||||
ngx_http_v2_srv_conf_t *h2scf;
|
||||
|
@ -1076,6 +1077,7 @@ ngx_http_v2_state_read_data(ngx_http_v2_connection_t *h2c, u_char *pos,
|
|||
}
|
||||
|
||||
r = stream->request;
|
||||
fc = r->connection;
|
||||
|
||||
if (r->reading_body && !r->request_body_no_buffering) {
|
||||
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, h2c->connection->log, 0,
|
||||
|
@ -1108,6 +1110,8 @@ ngx_http_v2_state_read_data(ngx_http_v2_connection_t *h2c, u_char *pos,
|
|||
ngx_http_finalize_request(r, rc);
|
||||
}
|
||||
|
||||
ngx_http_run_posted_requests(fc);
|
||||
|
||||
} else if (size) {
|
||||
buf = stream->preread;
|
||||
|
||||
|
|
Loading…
Reference in a new issue