diff options
author | Valentin Bartenev <vbart@nginx.com> | 2012-12-14 15:24:24 +0000 |
---|---|---|
committer | Valentin Bartenev <vbart@nginx.com> | 2012-12-14 15:24:24 +0000 |
commit | fac3b341dae56adccc1ffa7e8147b3694b209381 (patch) | |
tree | 4ee591f79bd8fc94284956fe3c5f93e1ac2645d1 /src/core/ngx_file.c | |
parent | e86279e9f3d06ef50c518551eb6c7aea9d0bd41d (diff) | |
download | nginx-fac3b341dae56adccc1ffa7e8147b3694b209381.tar.gz nginx-fac3b341dae56adccc1ffa7e8147b3694b209381.zip |
Fixed handling of ngx_write_fd() and ngx_read_fd() errors.
The ngx_write_fd() and ngx_read_fd() functions return -1 in case of error,
so the incorrect comparison with NGX_FILE_ERROR (which is 0 on windows
platforms) might result in inaccurate error message in the error log.
Also the ngx_errno global variable is being set only if the returned value
is -1.
Diffstat (limited to 'src/core/ngx_file.c')
-rw-r--r-- | src/core/ngx_file.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c index f13fb4952..35f5f8dc3 100644 --- a/src/core/ngx_file.c +++ b/src/core/ngx_file.c @@ -732,14 +732,14 @@ ngx_copy_file(u_char *from, u_char *to, ngx_copy_file_t *cf) n = ngx_read_fd(fd, buf, len); - if (n == NGX_FILE_ERROR) { + if (n == -1) { ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, ngx_read_fd_n " \"%s\" failed", from); goto failed; } if ((size_t) n != len) { - ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, + ngx_log_error(NGX_LOG_ALERT, cf->log, 0, ngx_read_fd_n " has read only %z of %uz from %s", n, size, from); goto failed; @@ -747,14 +747,14 @@ ngx_copy_file(u_char *from, u_char *to, ngx_copy_file_t *cf) n = ngx_write_fd(nfd, buf, len); - if (n == NGX_FILE_ERROR) { + if (n == -1) { ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, ngx_write_fd_n " \"%s\" failed", to); goto failed; } if ((size_t) n != len) { - ngx_log_error(NGX_LOG_ALERT, cf->log, ngx_errno, + ngx_log_error(NGX_LOG_ALERT, cf->log, 0, ngx_write_fd_n " has written only %z of %uz to %s", n, size, to); goto failed; |