Merge of r4892: keepalive memory usage optimization.

The ngx_http_keepalive_handler() function is now trying to not
keep c->buffer's memory for idle connections.

This behaviour is consistent with the ngx_http_set_keepalive()
function and it should decrease memory usage in some cases (especially
if epoll/rtsig is used).
This commit is contained in:
Maxim Dounin 2012-11-13 11:21:31 +00:00
parent 41b2b12346
commit e1fd544763
1 changed files with 14 additions and 0 deletions

View File

@ -2745,6 +2745,20 @@ ngx_http_keepalive_handler(ngx_event_t *rev)
ngx_http_close_connection(c);
}
/*
* Like ngx_http_set_keepalive() we are trying to not hold
* c->buffer's memory for a keepalive connection.
*/
if (ngx_pfree(c->pool, b->start) == NGX_OK) {
/*
* the special note that c->buffer's memory was freed
*/
b->pos = NULL;
}
return;
}