# HG changeset patch # User Igor Sysoev # Date 1163886376 0 # Node ID 4766f61a82218591e0ef33858e1946dca44fd89f # Parent 739b997da512a208c82388080035bff0d8eaadd2 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 --- 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_p p->read_length += n; cl = chain; + p->free_raw_bufs = NULL; while (cl && n > 0) { @@ -322,7 +323,14 @@ ngx_event_pipe_read_upstream(ngx_event_p } } - 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)