changeset 4955:2e4e4084b562 stable-1.2

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 10 Dec 2012 18:04:54 +0000
parents 7c034ee61244
children bbcaeccbd928
files src/os/unix/ngx_files.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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
             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);