changeset 5255:7f4ec5bfb715

Fixed build on Linux with x32 ABI. On Linux x32 inclusion of sys/sysctl.h produces an error. As sysctl() is only used by rtsig event method code, which is legacy and not compiled in by default on modern linuxes, the sys/sysctl.h file now only included if rtsig support is enabled. Based on patch by Serguei I. Ivantsov.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 26 Jun 2013 15:47:27 +0400
parents 7ecaa9e4bf1b
children b66ec10e901a
files src/os/unix/ngx_linux_config.h
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/os/unix/ngx_linux_config.h
+++ b/src/os/unix/ngx_linux_config.h
@@ -51,7 +51,6 @@
 #include <malloc.h>             /* memalign() */
 #include <limits.h>             /* IOV_MAX */
 #include <sys/ioctl.h>
-#include <sys/sysctl.h>
 #include <crypt.h>
 #include <sys/utsname.h>        /* uname() */
 
@@ -77,11 +76,17 @@ extern ssize_t sendfile(int s, int fd, i
 #endif
 
 
-#if (NGX_HAVE_POLL || NGX_HAVE_RTSIG)
+#if (NGX_HAVE_POLL)
 #include <poll.h>
 #endif
 
 
+#if (NGX_HAVE_RTSIG)
+#include <poll.h>
+#include <sys/sysctl.h>
+#endif
+
+
 #if (NGX_HAVE_EPOLL)
 #include <sys/epoll.h>
 #endif