--- src/os/unix/ngx_files.c +++ src/os/unix/ngx_files.c @@ -183,6 +183,12 @@ ngx_write_chain_to_file(ngx_file_t *file /* create the iovec and coalesce the neighbouring bufs */ while (cl && vec.nelts < IOV_MAX) { + + if (ngx_buf_special(cl->buf)) { + cl = cl->next; + continue; + } + if (prev == cl->buf->pos) { iov->iov_len += cl->buf->last - cl->buf->pos;