changeset 6298:8f6d753c1953

Adjusted file->sys_offset after the write() syscall. This fixes suboptimal behavior caused by surplus lseek() for sequential writes on systems without pwrite(). A consecutive read after write might result in an error on systems without pread() and pwrite(). Fortunately, at the moment there are no widely used systems without these syscalls.
author Valentin Bartenev <vbart@nginx.com>
date Tue, 17 Nov 2015 19:01:41 +0300
parents 92482faf5d8a
children 5170c3040ce1
files src/os/unix/ngx_files.c
diffstat 1 files changed, 1 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/os/unix/ngx_files.c
+++ b/src/os/unix/ngx_files.c
@@ -226,6 +226,7 @@ ngx_write_file(ngx_file_t *file, u_char 
             return NGX_ERROR;
         }
 
+        file->sys_offset += n;
         file->offset += n;
         written += n;