aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_file.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2008-12-10 14:53:45 +0000
committerIgor Sysoev <igor@sysoev.ru>2008-12-10 14:53:45 +0000
commit524f54f56dc506ae7fc2ef29794d399e13f69fb2 (patch)
tree15264926a94c83f1221ed8c7cbe6cbfc2392c1d4 /src/core/ngx_file.c
parent45656b4051cd1e9b3e112a819c16a447b10ad03b (diff)
downloadnginx-524f54f56dc506ae7fc2ef29794d399e13f69fb2.tar.gz
nginx-524f54f56dc506ae7fc2ef29794d399e13f69fb2.zip
use ngx_ext_rename_file() for single file MOVE
Diffstat (limited to 'src/core/ngx_file.c')
-rw-r--r--src/core/ngx_file.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index 28980df85..fdefacf50 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -487,11 +487,13 @@ ngx_ext_rename_file(ngx_str_t *src, ngx_str_t *to, ngx_ext_rename_file_t *ext)
#if !(NGX_WIN32)
- if (ngx_change_file_access(src->data, ext->access) == NGX_FILE_ERROR) {
- ngx_log_error(NGX_LOG_CRIT, ext->log, ngx_errno,
- ngx_change_file_access_n " \"%s\" failed", src->data);
- err = 0;
- goto failed;
+ if (ext->access) {
+ if (ngx_change_file_access(src->data, ext->access) == NGX_FILE_ERROR) {
+ ngx_log_error(NGX_LOG_CRIT, ext->log, ngx_errno,
+ ngx_change_file_access_n " \"%s\" failed", src->data);
+ err = 0;
+ goto failed;
+ }
}
#endif
@@ -517,7 +519,7 @@ ngx_ext_rename_file(ngx_str_t *src, ngx_str_t *to, ngx_ext_rename_file_t *ext)
goto failed;
}
- err = ngx_create_full_path(to->data, ngx_dir_access(ext->access));
+ err = ngx_create_full_path(to->data, ngx_dir_access(ext->path_access));
if (err) {
ngx_log_error(NGX_LOG_CRIT, ext->log, err,
@@ -561,12 +563,14 @@ failed:
}
}
- if (err) {
+ if (err && ext->log_rename_error) {
ngx_log_error(NGX_LOG_CRIT, ext->log, err,
ngx_rename_file_n " \"%s\" to \"%s\" failed",
src->data, to->data);
}
+ ext->rename_error = err;
+
return NGX_ERROR;
}