mirror of
https://github.com/nginx/nginx.git
synced 2024-11-27 23:49:00 +08:00
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.
This commit is contained in:
parent
e86279e9f3
commit
fac3b341da
@ -983,7 +983,7 @@ ngx_conf_flush_files(ngx_cycle_t *cycle)
|
||||
|
||||
n = ngx_write_fd(file[i].fd, file[i].buffer, len);
|
||||
|
||||
if (n == NGX_FILE_ERROR) {
|
||||
if (n == -1) {
|
||||
ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
|
||||
ngx_write_fd_n " to \"%s\" failed",
|
||||
file[i].name.data);
|
||||
|
@ -1145,7 +1145,7 @@ ngx_reopen_files(ngx_cycle_t *cycle, ngx_uid_t user)
|
||||
|
||||
n = ngx_write_fd(file[i].fd, file[i].buffer, len);
|
||||
|
||||
if (n == NGX_FILE_ERROR) {
|
||||
if (n == -1) {
|
||||
ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno,
|
||||
ngx_write_fd_n " to \"%s\" failed",
|
||||
file[i].name.data);
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user