summaryrefslogtreecommitdiff
path: root/src/core/ngx_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ngx_file.c')
-rw-r--r--src/core/ngx_file.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/core/ngx_file.c b/src/core/ngx_file.c
index 3efa90093..4be17ec9a 100644
--- a/src/core/ngx_file.c
+++ b/src/core/ngx_file.c
@@ -19,7 +19,7 @@ ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain)
if (tf->file.fd == NGX_INVALID_FILE) {
rc = ngx_create_temp_file(&tf->file, tf->path, tf->pool,
- tf->persistent, tf->mode);
+ tf->persistent, tf->access);
if (rc == NGX_ERROR || rc == NGX_AGAIN) {
return rc;
@@ -37,7 +37,7 @@ ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain)
ngx_int_t
ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, ngx_pool_t *pool,
- ngx_uint_t persistent, ngx_uint_t mode)
+ ngx_uint_t persistent, ngx_uint_t access)
{
ngx_err_t err;
ngx_atomic_uint_t n;
@@ -72,7 +72,7 @@ ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, ngx_pool_t *pool,
return NGX_ERROR;
}
- file->fd = ngx_open_tempfile(file->name.data, persistent, mode);
+ file->fd = ngx_open_tempfile(file->name.data, persistent, access);
ngx_log_debug1(NGX_LOG_DEBUG_CORE, file->log, 0,
"temp fd:%d", file->fd);
@@ -445,8 +445,8 @@ ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_str_t *tree)
prev = ctx->data;
- if (ctx->size) {
- data = ngx_alloc(ctx->size, ctx->log);
+ if (ctx->alloc) {
+ data = ngx_alloc(ctx->alloc, ctx->log);
if (data == NULL) {
goto failed;
}
@@ -529,6 +529,10 @@ ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_str_t *tree)
ngx_log_debug1(NGX_LOG_DEBUG_CORE, ctx->log, 0,
"tree file \"%s\"", file.data);
+ ctx->size = ngx_de_size(&dir);
+ ctx->access = ngx_de_access(&dir);
+ ctx->mtime = ngx_de_mtime(&dir);
+
if (ctx->file_handler(ctx, &file) == NGX_ABORT) {
goto failed;
}
@@ -538,6 +542,9 @@ ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_str_t *tree)
ngx_log_debug1(NGX_LOG_DEBUG_CORE, ctx->log, 0,
"tree enter dir \"%s\"", file.data);
+ ctx->access = ngx_de_access(&dir);
+ ctx->mtime = ngx_de_mtime(&dir);
+
if (ctx->pre_tree_handler(ctx, &file) == NGX_ABORT) {
goto failed;
}
@@ -546,6 +553,9 @@ ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_str_t *tree)
goto failed;
}
+ ctx->access = ngx_de_access(&dir);
+ ctx->mtime = ngx_de_mtime(&dir);
+
if (ctx->post_tree_handler(ctx, &file) == NGX_ABORT) {
goto failed;
}
@@ -571,7 +581,7 @@ done:
ngx_free(buf.data);
}
- if (ctx->data) {
+ if (ctx->alloc) {
ngx_free(ctx->data);
ctx->data = prev;
}