aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2016-02-24 16:05:47 +0300
committerValentin Bartenev <vbart@nginx.com>2016-02-24 16:05:47 +0300
commit4e6a490fa7ecb227296e277e2c3b7664441e5b40 (patch)
tree52cf5e152b567df990d8d77d10a118d7783f9a0a /src/http/ngx_http_request.c
parent8b40f1eaec90be72e791904b345db15f536dca45 (diff)
downloadnginx-4e6a490fa7ecb227296e277e2c3b7664441e5b40.tar.gz
nginx-4e6a490fa7ecb227296e277e2c3b7664441e5b40.zip
HTTP/2: always use temporary pool for processing headers.
This is required for implementing per request timeouts. Previously, the temporary pool was used only during skipping of headers and the request pool was used otherwise. That required switching of pools if the request was closed while parsing. It wasn't a problem since the request could be closed only after the validation of the fully parsed header. With the per request timeouts, the request can be closed at any moment, and switching of pools in the middle of parsing header name or value becomes a problem. To overcome this, the temporary pool is now always created and used. Special checks are added to keep it when either the stream is being processed or until header block is fully parsed.
Diffstat (limited to 'src/http/ngx_http_request.c')
0 files changed, 0 insertions, 0 deletions