summaryrefslogtreecommitdiff
path: root/src/event/ngx_event_pipe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/ngx_event_pipe.c')
-rw-r--r--src/event/ngx_event_pipe.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c
index bb371691b..59b89b0f9 100644
--- a/src/event/ngx_event_pipe.c
+++ b/src/event/ngx_event_pipe.c
@@ -295,6 +295,7 @@ ngx_event_pipe_read_upstream(ngx_event_pipe_t *p)
p->read_length += n;
cl = chain;
+ p->free_raw_bufs = NULL;
while (cl && n > 0) {
@@ -322,7 +323,12 @@ ngx_event_pipe_read_upstream(ngx_event_pipe_t *p)
}
}
- p->free_raw_bufs = cl;
+ if (cl) {
+ for (ln = cl; ln->next; ln = ln->next) { /* void */ }
+
+ ln->next = p->free_raw_bufs;
+ p->free_raw_bufs = cl;
+ }
}
#if (NGX_DEBUG)