aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_file.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-10-14 11:46:09 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-10-14 11:46:09 +0000
commit3f438068eb40e143ba79c239935306f90af0dfaf (patch)
tree9f56194129a56f1f35e369e675e1b48646fd3a2e /src/core/ngx_file.c
parentd0188e09afc8a2dab4531a10669cd0324771802b (diff)
downloadnginx-3f438068eb40e143ba79c239935306f90af0dfaf.tar.gz
nginx-3f438068eb40e143ba79c239935306f90af0dfaf.zip
ignore EACCES errors for top level directories in ngx_create_full_path()
Diffstat (limited to 'src/core/ngx_file.c')
-rw-r--r--src/core/ngx_file.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index b93a20967..54adf3485 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -183,6 +183,8 @@ ngx_create_full_path(u_char *dir, ngx_uint_t access)
u_char *p, ch;
ngx_err_t err;
+ err = 0;
+
#if (NGX_WIN32)
p = dir + 3;
#else
@@ -200,7 +202,14 @@ ngx_create_full_path(u_char *dir, ngx_uint_t access)
if (ngx_create_dir(dir, access) == NGX_FILE_ERROR) {
err = ngx_errno;
- if (err != NGX_EEXIST) {
+
+ switch (err) {
+ case NGX_EEXIST:
+ err = 0;
+ case NGX_EACCES:
+ break;
+
+ default:
return err;
}
}
@@ -208,7 +217,7 @@ ngx_create_full_path(u_char *dir, ngx_uint_t access)
*p = '/';
}
- return 0;
+ return err;
}