Solaris directio()
diff --git a/auto/os/features b/auto/os/features
index ffb27a4..8efed75 100644
--- a/auto/os/features
+++ b/auto/os/features
@@ -190,3 +190,14 @@
 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 62af63b..7e84070 100644
--- a/src/os/unix/ngx_files.h
+++ b/src/os/unix/ngx_files.h
@@ -199,6 +199,11 @@
 #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