aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_output_chain.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2005-04-08 15:18:55 +0000
committerIgor Sysoev <igor@sysoev.ru>2005-04-08 15:18:55 +0000
commit02f742b45eb8792053d3880641f45651d645e351 (patch)
tree1d5893bcc89c8f879712aa80f9a98a42f397e2c0 /src/core/ngx_output_chain.c
parent87ff72436d289ae7b72a23138262e6d156490927 (diff)
downloadnginx-02f742b45eb8792053d3880641f45651d645e351.tar.gz
nginx-02f742b45eb8792053d3880641f45651d645e351.zip
nginx-0.1.28-RELEASE importrelease-0.1.28
*) Bugfix: nginx hogs CPU while proxying the huge files. *) Bugfix: nginx could not be built by gcc 4.0 on Linux.
Diffstat (limited to 'src/core/ngx_output_chain.c')
-rw-r--r--src/core/ngx_output_chain.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/ngx_output_chain.c b/src/core/ngx_output_chain.c
index 313557d8e..fc8a0bf2a 100644
--- a/src/core/ngx_output_chain.c
+++ b/src/core/ngx_output_chain.c
@@ -119,8 +119,10 @@ ngx_output_chain(ngx_output_chain_ctx_t *ctx, ngx_chain_t *in)
/* get the free buf */
if (ctx->free) {
- ctx->buf = ctx->free->buf;
- ctx->free = ctx->free->next;
+ cl = ctx->free;
+ ctx->buf = cl->buf;
+ ctx->free = cl->next;
+ ngx_free_chain(ctx->pool, cl);
} else if (out || ctx->allocated == ctx->bufs.num) {