fix endless loop when too many FastCGI sent too many to stderr
diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c
index bb37169..c535357 100644
--- a/src/event/ngx_event_pipe.c
+++ b/src/event/ngx_event_pipe.c
@@ -295,6 +295,7 @@
 
         p->read_length += n;
         cl = chain;
+        p->free_raw_bufs = NULL;
 
         while (cl && n > 0) {
 
@@ -322,7 +323,14 @@
             }
         }
 
-        p->free_raw_bufs = cl;
+        if (cl) {
+            while (cl->next) {
+                cl = cl->next;
+            }
+
+            cl->next = p->free_raw_bufs;
+            p->free_raw_bufs = cl;
+        }
     }
 
 #if (NGX_DEBUG)