comparison src/os/unix/ngx_files.c @ 154:eac26585476e

nginx-0.0.1-2003-10-22-11:05:29 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 22 Oct 2003 07:05:29 +0000
parents 869b10be682f
children c42be4185301
comparison
equal deleted inserted replaced
153:c71aeb75c071 154:eac26585476e
75 iov->iov_len = ce->hunk->last - ce->hunk->pos; 75 iov->iov_len = ce->hunk->last - ce->hunk->pos;
76 size += ce->hunk->last - ce->hunk->pos; 76 size += ce->hunk->last - ce->hunk->pos;
77 ce = ce->next; 77 ce = ce->next;
78 } 78 }
79 79
80 if (lseek(file->fd, offset, SEEK_SET) == -1) { 80 if (file->offset != offset) {
81 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, "lseek() failed"); 81 if (lseek(file->fd, offset, SEEK_SET) == -1) {
82 return NGX_ERROR; 82 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, "lseek() failed");
83 return NGX_ERROR;
84 }
83 } 85 }
84 86
85 n = writev(file->fd, (struct iovec *) io.elts, io.nelts); 87 n = writev(file->fd, (struct iovec *) io.elts, io.nelts);
86
87 ngx_destroy_array(&io);
88 88
89 if (n == -1) { 89 if (n == -1) {
90 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, "writev() failed"); 90 ngx_log_error(NGX_LOG_CRIT, file->log, ngx_errno, "writev() failed");
91 return NGX_ERROR; 91 return NGX_ERROR;
92 } 92 }