comparison src/http/v2/ngx_http_v2.c @ 7555:99b6733876c4 stable-1.16

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 b19cd299f37c
children 45415228990b
comparison
equal deleted inserted replaced
7554:b19cd299f37c 7555:99b6733876c4
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