diff options
author | Richard Yao <ryao@gentoo.org> | 2012-11-18 02:15:16 -0500 |
---|---|---|
committer | Richard Yao <ryao@cs.stonybrook.edu> | 2012-12-08 09:48:07 -0500 |
commit | bfc850a01b7ba1d961e2f32550c6871ddef909d9 (patch) | |
tree | 3757dcc0bd26a21588ed91f00abf767022b167c6 /configure.ac | |
parent | 551346ef4d0afc9a376762ac7cb70121c12be920 (diff) |
Add fallback path when accept4() is not available.
Commit ff2c503df091e6e4e9ab48cdb6df6ec8b7b525d0 introduced accept4() into
udev, which broke compatibility with kernels older than Linux 2.6.32 (or
Linux 2.6.36 on ARM). The purpose of accept4() is to permit
O_NONBLOCK and O_CLOEXEC to be specified at the accept() call site
while previously, they had to be set using fcntl() because Linux does
not inherit them.
Since accept4() increases the minimum kernel version, we add a fallback
path for situations in which it is unavailable.
Reported-by: Stephen Klimaszewski <steev@gentoo.org>
Signed-off-by: Richard Yao <ryao@gentoo.org>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index ff9dacf218..59217a25ac 100644 --- a/configure.ac +++ b/configure.ac @@ -65,10 +65,11 @@ AC_TYPE_UINT16_T AC_TYPE_UINT32_T AC_TYPE_UINT64_T AC_TYPE_UINT8_T -AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at], [], [], [[#include <sys/types.h> +AC_CHECK_DECLS([gettid, pivot_root, name_to_handle_at, accept4], [], [], [[#include <sys/types.h> #include <unistd.h> #include <sys/mount.h> -#include <fcntl.h>]]) +#include <fcntl.h> +#include <sys/socket.h>]]) # Checks for library functions. |