changeset 685:364195c9ee00

Linux O_NOATIME support
author Igor Sysoev <igor@sysoev.ru>
date Fri, 01 Sep 2006 05:15:56 +0000
parents e3e0b20d8eb2
children 0bbb66f76af1
files src/http/modules/ngx_http_index_module.c src/http/modules/ngx_http_static_module.c src/os/unix/ngx_files.h src/os/win32/ngx_files.h
diffstat 4 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/modules/ngx_http_index_module.c
+++ b/src/http/modules/ngx_http_index_module.c
@@ -239,7 +239,8 @@ ngx_http_index_handler(ngx_http_request_
             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;
--- a/src/http/modules/ngx_http_static_module.c
+++ b/src/http/modules/ngx_http_static_module.c
@@ -125,7 +125,8 @@ ngx_http_static_handler(ngx_http_request
         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;
--- 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()"
--- 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);