From: Maxim Dounin Date: Mon, 10 Dec 2012 18:04:54 +0000 (+0000) Subject: Merge of r4920, r4939: ngx_write_chain_to_file() fixes. X-Git-Tag: release-1.2.6~3 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=59833d5450c8d9fa2c860b22e26813ea301cd514;p=nginx.git 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. --- 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);