comparison src/os/unix/ngx_files.c @ 3657:fbd7dad43a4e

fix ngx_write_file() buf
author Igor Sysoev <igor@sysoev.ru>
date Wed, 30 Jun 2010 10:33:02 +0000
parents 515d50917016
children cf80c0b0109a
comparison
equal deleted inserted replaced
3656:3d61601f3171 3657:fbd7dad43a4e
74 written = 0; 74 written = 0;
75 75
76 #if (NGX_HAVE_PWRITE) 76 #if (NGX_HAVE_PWRITE)
77 77
78 for ( ;; ) { 78 for ( ;; ) {
79 n = pwrite(file->fd, buf, size, offset); 79 n = pwrite(file->fd, buf + written, size, offset);
80 80
81 if (n == -1) { 81 if (n == -1) {
82 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, 82 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno,
83 "pwrite() \"%s\" failed", file->name.data); 83 "pwrite() \"%s\" failed", file->name.data);
84 return NGX_ERROR; 84 return NGX_ERROR;
106 106
107 file->sys_offset = offset; 107 file->sys_offset = offset;
108 } 108 }
109 109
110 for ( ;; ) { 110 for ( ;; ) {
111 n = write(file->fd, buf, size); 111 n = write(file->fd, buf + written, size);
112 112
113 if (n == -1) { 113 if (n == -1) {
114 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, 114 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno,
115 "write() \"%s\" failed", file->name.data); 115 "write() \"%s\" failed", file->name.data);
116 return NGX_ERROR; 116 return NGX_ERROR;