# HG changeset patch # User Maxim Dounin # Date 1352805691 0 # Node ID 01d3d3a185e96cdd7f93515471b5038076a112a3 # Parent bc92e877d36dbb655bfe5f527df12a7681bd7f48 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). diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -2745,6 +2745,20 @@ ngx_http_keepalive_handler(ngx_event_t * 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; }