Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--auto/os/features11
-rw-r--r--src/os/unix/ngx_files.h5
2 files changed, 16 insertions, 0 deletions
diff --git a/auto/os/features b/auto/os/features
index ffb27a481..8efed75a2 100644
--- a/auto/os/features
+++ b/auto/os/features
@@ -190,3 +190,14 @@ ngx_feature_path=
ngx_feature_libs=
ngx_feature_test="fcntl(0, F_NOCACHE, 1);"
. auto/feature
+
+
+ngx_feature="directio()"
+ngx_feature_name="NGX_HAVE_DIRECTIO"
+ngx_feature_run=no
+ngx_feature_incs="#include <sys/types.h>
+ #include <sys/fcntl.h>"
+ngx_feature_path=
+ngx_feature_libs=
+ngx_feature_test="directio(0, DIRECTIO_ON);"
+. auto/feature
diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h
index 62af63bce..7e8407086 100644
--- a/src/os/unix/ngx_files.h
+++ b/src/os/unix/ngx_files.h
@@ -199,6 +199,11 @@ ngx_int_t ngx_directio(ngx_fd_t fd);
#define ngx_directio(fd) fcntl(fd, F_NOCACHE, 1)
#define ngx_directio_n "fcntl(F_NOCACHE)"
+#elif (NGX_HAVE_DIRECTIO)
+
+#define ngx_directio(fd) directio(fd, DIRECTIO_ON)
+#define ngx_directio_n "directio(DIRECTIO_ON)"
+
#else
#define ngx_directio(fd) 0