diff --git a/src/fd_control.c b/src/fd_control.c index 2e9295657ff98bb5cb8f3a8be1afc041baf8d917..14c014daa56974e8729fb3ec788fec1c64969474 100644 --- a/src/fd_control.c +++ b/src/fd_control.c @@ -227,7 +227,7 @@ PMOD_EXPORT int set_close_on_exec(int fd, int which) #ifndef HAVE_ACCEPT4 int accept4(int fd, struct sockaddr *addr, ACCEPT_SIZE_T *addrlen, int flags) { - int fd = fd_accept(fd, addr, addrlen); + fd = fd_accept(fd, addr, addrlen); if (!flags || (fd < 0)) return fd; if (((flags & SOCK_NONBLOCK) && (set_nonblocking(fd, 1) < 0)) || ((flags & SOCK_CLOEXEC) && (set_close_on_exec(fd, 1) < 0))) { diff --git a/src/fd_control.h b/src/fd_control.h index f1f0d35830bf0166d3f4d0219ba4563a6a5b7c90..1853722648a610181eb2341c29bbe0b95a315500 100644 --- a/src/fd_control.h +++ b/src/fd_control.h @@ -8,6 +8,10 @@ #define FD_CONTROL_H #ifndef HAVE_ACCEPT4 +#ifdef HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif + /* NB: The default values are compatible with Linux, * but should work on other OSs as well, since * accept4(2) is emulated by us anyway. @@ -44,7 +48,7 @@ void do_close_on_exec(void); void cleanup_close_on_exec(void); #endif /* HAVE_BROKEN_F_SETFD */ #ifndef HAVE_ACCEPT4 -int accept4(int fd, struct sockaddr *addr, ACCEPT_SIZE_T *addrlen, int flags) +int accept4(int fd, struct sockaddr *addr, ACCEPT_SIZE_T *addrlen, int flags); #endif /* !HAVE_ACCEPT4 */ /* Prototypes end here */