Postpone filter: handled ngx_http_postpone_filter_add() failures.
In particular, if ngx_http_postpone_filter_add() fails in ngx_chain_add_copy(), the output chain of the postponed request was left in an invalid state.
This commit is contained in:
parent
bcd3e0b52a
commit
8495a85ae8
1 changed files with 7 additions and 2 deletions
|
@ -63,7 +63,10 @@ ngx_http_postpone_filter(ngx_http_request_t *r, ngx_chain_t *in)
|
|||
if (r != c->data) {
|
||||
|
||||
if (in) {
|
||||
ngx_http_postpone_filter_add(r, in);
|
||||
if (ngx_http_postpone_filter_add(r, in) != NGX_OK) {
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
return NGX_OK;
|
||||
}
|
||||
|
||||
|
@ -86,7 +89,9 @@ ngx_http_postpone_filter(ngx_http_request_t *r, ngx_chain_t *in)
|
|||
}
|
||||
|
||||
if (in) {
|
||||
ngx_http_postpone_filter_add(r, in);
|
||||
if (ngx_http_postpone_filter_add(r, in) != NGX_OK) {
|
||||
return NGX_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
do {
|
||||
|
|
Loading…
Reference in a new issue