aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_file.c
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2012-12-14 15:24:24 +0000
committerValentin Bartenev <vbart@nginx.com>2012-12-14 15:24:24 +0000
commitfac3b341dae56adccc1ffa7e8147b3694b209381 (patch)
tree4ee591f79bd8fc94284956fe3c5f93e1ac2645d1 /src/core/ngx_file.c
parente86279e9f3d06ef50c518551eb6c7aea9d0bd41d (diff)
downloadnginx-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.c8
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;