diff src/event/ngx_event_pipe.c @ 5466:e7b3b9855be8

Use ngx_chain_get_free_buf() in pipe input filters. No functional changes.
author Valentin Bartenev <vbart@nginx.com>
date Wed, 11 Dec 2013 21:30:38 +0400
parents 3d2d3e1cf427
children 35990c69b3ac
line wrap: on
line diff
--- a/src/event/ngx_event_pipe.c
+++ b/src/event/ngx_event_pipe.c
@@ -857,18 +857,12 @@ ngx_event_pipe_copy_input_filter(ngx_eve
         return NGX_OK;
     }
 
-    if (p->free) {
-        cl = p->free;
-        b = cl->buf;
-        p->free = cl->next;
-        ngx_free_chain(p->pool, cl);
+    cl = ngx_chain_get_free_buf(p->pool, &p->free);
+    if (cl == NULL) {
+        return NGX_ERROR;
+    }
 
-    } else {
-        b = ngx_alloc_buf(p->pool);
-        if (b == NULL) {
-            return NGX_ERROR;
-        }
-    }
+    b = cl->buf;
 
     ngx_memcpy(b, buf, sizeof(ngx_buf_t));
     b->shadow = buf;
@@ -877,14 +871,6 @@ ngx_event_pipe_copy_input_filter(ngx_eve
     b->recycled = 1;
     buf->shadow = b;
 
-    cl = ngx_alloc_chain_link(p->pool);
-    if (cl == NULL) {
-        return NGX_ERROR;
-    }
-
-    cl->buf = b;
-    cl->next = NULL;
-
     ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0, "input buf #%d", b->num);
 
     if (p->in) {