From 59833d5450c8d9fa2c860b22e26813ea301cd514 Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Mon, 10 Dec 2012 18:04:54 +0000 Subject: [PATCH] Merge of r4920, r4939: ngx_write_chain_to_file() fixes. *) Core: added debug logging of writev() in ngx_write_chain_to_file(). *) Core: fixed ngx_write_chain_to_file() with IOV_MAX reached. Catched by dav_chunked.t on Solaris. In released versions this might potentially result in corruption of complex protocol responses if they were written to disk and there were more distinct buffers than IOV_MAX in a single write. --- src/os/unix/ngx_files.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/os/unix/ngx_files.c b/src/os/unix/ngx_files.c index d71aec316..4fdf884fc 100644 --- a/src/os/unix/ngx_files.c +++ b/src/os/unix/ngx_files.c @@ -241,8 +241,12 @@ ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *cl, off_t offset, return NGX_ERROR; } + ngx_log_debug2(NGX_LOG_DEBUG_CORE, file->log, 0, + "writev: %d, %z", file->fd, n); + file->sys_offset += n; file->offset += n; + offset += n; total += n; } while (cl);