summaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/ngx_open_file_cache.c9
-rw-r--r--src/core/ngx_open_file_cache.h1
2 files changed, 9 insertions, 1 deletions
diff --git a/src/core/ngx_open_file_cache.c b/src/core/ngx_open_file_cache.c
index bf8f0de12..704d0ab79 100644
--- a/src/core/ngx_open_file_cache.c
+++ b/src/core/ngx_open_file_cache.c
@@ -460,7 +460,14 @@ ngx_open_and_stat_file(u_char *name, ngx_open_file_info_t *of, ngx_log_t *log)
}
}
- fd = ngx_open_file(name, NGX_FILE_RDONLY, NGX_FILE_OPEN, 0);
+ if (!of->log) {
+ fd = ngx_open_file(name, NGX_FILE_RDONLY, NGX_FILE_OPEN, 0);
+
+ } else {
+ fd = ngx_open_file(name, NGX_FILE_RDWR,
+ NGX_FILE_CREATE_OR_OPEN|NGX_FILE_APPEND,
+ NGX_FILE_DEFAULT_ACCESS);
+ }
if (fd == NGX_INVALID_FILE) {
goto failed;
diff --git a/src/core/ngx_open_file_cache.h b/src/core/ngx_open_file_cache.h
index dd294e77a..4d8393b5d 100644
--- a/src/core/ngx_open_file_cache.h
+++ b/src/core/ngx_open_file_cache.h
@@ -24,6 +24,7 @@ typedef struct {
ngx_uint_t min_uses;
unsigned test_dir:1;
+ unsigned log:1;
unsigned errors:1;
unsigned events:1;