diff options
author | Igor Sysoev <igor@sysoev.ru> | 2008-12-10 14:53:45 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2008-12-10 14:53:45 +0000 |
commit | 524f54f56dc506ae7fc2ef29794d399e13f69fb2 (patch) | |
tree | 15264926a94c83f1221ed8c7cbe6cbfc2392c1d4 /src/core/ngx_file.c | |
parent | 45656b4051cd1e9b3e112a819c16a447b10ad03b (diff) | |
download | nginx-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.c | 18 |
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; } |