From: Maxim Dounin Date: Fri, 21 Oct 2011 11:04:46 +0000 (+0000) Subject: Fixed another return in unix ngx_write_chain_to_file(). X-Git-Tag: release-1.1.7~16 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=ce61ff9c453702d45998e1ae1394dc44e9c5eb6a;p=nginx.git Fixed another return in unix ngx_write_chain_to_file(). Previous patch missed special case for one iovec, it needs total bytes written to be returned as well. --- diff --git a/src/os/unix/ngx_files.c b/src/os/unix/ngx_files.c index 4bfde44f4..ad26d2752 100644 --- a/src/os/unix/ngx_files.c +++ b/src/os/unix/ngx_files.c @@ -204,8 +204,15 @@ ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *cl, off_t offset, if (vec.nelts == 1) { iov = vec.elts; - return ngx_write_file(file, (u_char *) iov[0].iov_base, - iov[0].iov_len, offset); + + n = ngx_write_file(file, (u_char *) iov[0].iov_base, + iov[0].iov_len, offset); + + if (n == NGX_ERROR) { + return n; + } + + return total + n; } if (file->sys_offset != offset) {