Linux O_NOATIME support
diff --git a/src/http/modules/ngx_http_index_module.c b/src/http/modules/ngx_http_index_module.c
index cd1c51e..b84a65e 100644
--- a/src/http/modules/ngx_http_index_module.c
+++ b/src/http/modules/ngx_http_index_module.c
@@ -239,7 +239,8 @@
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}
- fd = ngx_open_file(ctx->path.data, NGX_FILE_RDONLY, NGX_FILE_OPEN);
+ fd = ngx_open_file(ctx->path.data, NGX_FILE_RDONLY|NGX_FILE_NOATIME,
+ NGX_FILE_OPEN);
if (fd == (ngx_fd_t) NGX_AGAIN) {
ctx->current = i;
diff --git a/src/http/modules/ngx_http_static_module.c b/src/http/modules/ngx_http_static_module.c
index f9df46e..4144610 100644
--- a/src/http/modules/ngx_http_static_module.c
+++ b/src/http/modules/ngx_http_static_module.c
@@ -125,7 +125,8 @@
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}
- fd = ngx_open_file(path.data, NGX_FILE_RDONLY, NGX_FILE_OPEN);
+ fd = ngx_open_file(path.data, NGX_FILE_RDONLY|NGX_FILE_NOATIME,
+ NGX_FILE_OPEN);
if (fd == NGX_INVALID_FILE) {
err = ngx_errno;
diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h
index ff25156..a5724bd 100644
--- a/src/os/unix/ngx_files.h
+++ b/src/os/unix/ngx_files.h
@@ -28,6 +28,11 @@
#define NGX_FILE_TRUNCATE O_TRUNC
#define NGX_FILE_APPEND O_APPEND
+#ifdef O_NOATIME
+#define NGX_FILE_NOATIME O_NOATIME
+#else
+#define NGX_FILE_NOATIME 0
+#endif
#define ngx_close_file close
#define ngx_close_file_n "close()"
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
index c42c055..57607e3 100644
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -42,6 +42,7 @@
#define NGX_FILE_CREATE_OR_OPEN OPEN_ALWAYS
#define NGX_FILE_OPEN OPEN_EXISTING
#define NGX_FILE_APPEND 0
+#define NGX_FILE_NOATIME 0
ngx_int_t ngx_file_append_mode(ngx_fd_t fd);