Mercurial > hg > nginx
comparison src/http/v2/ngx_http_v2.c @ 7548:99257b06b0bd
HTTP/2: limited number of DATA frames.
Fixed excessive memory growth and CPU usage if stream windows are
manipulated in a way that results in generating many small DATA frames.
Fix is to limit the number of simultaneously allocated DATA frames.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Tue, 13 Aug 2019 15:43:36 +0300 |
parents | 4f4b83f00cf1 |
children | 45415228990b |
comparison
equal
deleted
inserted
replaced
7547:4f4b83f00cf1 | 7548:99257b06b0bd |
---|---|
4367 * The pointer is stored into local variable because the stream object | 4367 * The pointer is stored into local variable because the stream object |
4368 * will be destroyed after a call to ngx_http_free_request(). | 4368 * will be destroyed after a call to ngx_http_free_request(). |
4369 */ | 4369 */ |
4370 pool = stream->pool; | 4370 pool = stream->pool; |
4371 | 4371 |
4372 h2c->frames -= stream->frames; | |
4373 | |
4372 ngx_http_free_request(stream->request, rc); | 4374 ngx_http_free_request(stream->request, rc); |
4373 | 4375 |
4374 if (pool != h2c->state.pool) { | 4376 if (pool != h2c->state.pool) { |
4375 ngx_destroy_pool(pool); | 4377 ngx_destroy_pool(pool); |
4376 | 4378 |