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.
This commit is contained in:
Maxim Dounin 2012-12-10 18:04:54 +00:00
parent 572153c4a4
commit 6bb2bf4cf6
1 changed files with 4 additions and 0 deletions

View File

@ -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);