the previous commit did not fix too
cl = p->out;
if (cl->buf->recycled
- && cl->buf->last_shadow
&& bsize + cl->buf->last - cl->buf->pos > p->busy_size)
{
- if (!prev_last_shadow) {
- p->in = p->in->next;
- }
-
flush = 1;
break;
}
- prev_last_shadow = cl->buf->last_shadow;
-
p->out = p->out->next;
ngx_event_pipe_free_shadow_raw_buf(&p->free_raw_bufs, cl->buf);
{
if (!prev_last_shadow) {
p->in = p->in->next;
+
+ cl->next = NULL;
+
+ if (out) {
+ *ll = cl;
+ } else {
+ out = cl;
+ }
+ ll = &cl->next;
}
flush = 1;