diff options
author | Michael Heimpold <mhei@heimpold.de> | 2017-04-18 00:22:34 +0200 |
---|---|---|
committer | Jakub Zelenka <bukka@php.net> | 2017-04-30 20:24:56 +0100 |
commit | d9dfac90bf4bc71c7724fe3777542429a79a5f63 (patch) | |
tree | 420aa1a702d9448aebe2b106a6c80269c05c9748 | |
parent | a0b9554f94a47b32e9771b1be999e255ca6bacc7 (diff) | |
download | php-git-d9dfac90bf4bc71c7724fe3777542429a79a5f63.tar.gz |
Fix compiler warnings when compiled against musl libc
musl libc is complaining when <sys/poll.h> is used instead of <poll.h>
so change this.
This issue was reported for OpenWrt/LEDE where musl libc is the standard
C library instead of e.g. glibc, see the following link for the original PR:
https://github.com/openwrt/packages/pull/4263
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
--
v3: refined checks/fallback paths as suggested by @bukka
v2: rebased to resolve merge conflict in main/php_network.h
v1: initial PR
-rw-r--r-- | configure.in | 1 | ||||
-rw-r--r-- | main/fastcgi.c | 6 | ||||
-rw-r--r-- | main/network.c | 4 | ||||
-rw-r--r-- | main/php_network.h | 8 |
4 files changed, 14 insertions, 5 deletions
diff --git a/configure.in b/configure.in index 656892eb89..d0f20a9b99 100644 --- a/configure.in +++ b/configure.in @@ -494,6 +494,7 @@ limits.h \ locale.h \ monetary.h \ netdb.h \ +poll.h \ pwd.h \ resolv.h \ signal.h \ diff --git a/main/fastcgi.c b/main/fastcgi.c index 39bfd34531..f5e476c6e7 100644 --- a/main/fastcgi.c +++ b/main/fastcgi.c @@ -76,7 +76,9 @@ static int is_impersonate = 0; # include <netdb.h> # include <signal.h> -# if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL) +# if defined(HAVE_POLL_H) && defined(HAVE_POLL) +# include <poll.h> +# elif defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL) # include <sys/poll.h> # endif # if defined(HAVE_SYS_SELECT_H) @@ -1427,7 +1429,7 @@ int fcgi_accept_request(fcgi_request *req) break; #else if (req->fd >= 0) { -#if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL) +#if defined(HAVE_POLL) struct pollfd fds; int ret; diff --git a/main/network.c b/main/network.c index 1df2dcddb0..076608c37f 100644 --- a/main/network.c +++ b/main/network.c @@ -51,7 +51,9 @@ #ifdef HAVE_SYS_SELECT_H #include <sys/select.h> #endif -#if HAVE_SYS_POLL_H +#if HAVE_POLL_H +#include <poll.h> +#elif HAVE_SYS_POLL_H #include <sys/poll.h> #endif diff --git a/main/php_network.h b/main/php_network.h index 39035bad3d..28a9ffd1b0 100644 --- a/main/php_network.h +++ b/main/php_network.h @@ -120,8 +120,12 @@ typedef int php_socket_t; /* uncomment this to debug poll(2) emulation on systems that have poll(2) */ /* #define PHP_USE_POLL_2_EMULATION 1 */ -#if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL) -# include <poll.h> +#if defined(HAVE_POLL) +# if defined(HAVE_POLL_H) +# include <poll.h> +# elif defined(HAVE_SYS_POLL_H) +# include <sys/poll.h> +# endif typedef struct pollfd php_pollfd; #else typedef struct _php_pollfd { |