From 02191c903188162a48f57a4644dcd74809011151 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Fri, 14 Apr 2017 10:30:01 +0200 Subject: Assume that accept4 is always available and works Simplify the Linux accept4 implementation based on the assumption that it is available in some way. __ASSUME_ACCEPT4_SOCKETCALL was previously unused, so remove it. Its functionality is implied by the complex #if condition in accept4.c. --- ChangeLog | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index e8e5b98f0e..1085153d1a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,33 @@ +2017-04-14 Florian Weimer + + * nscd/connections.c (have_accept4): Removed definition. + (nscd_run_worker, main_loop_poll, main_loop_epolll): Assume that + accept4 works. + * manual/install.texi (Linux): Require at least kernel 3.2.18 for + ia64 because that was the first version with accept4 support. + * support/Makefile (libsupport-routines): Add xaccept4. + * support/xsocket.h (xaccept4): Declare. + * support/xaccept4.c: New file. + * socket/tst-accept4.c: New file. + * socket/Makefile (tests): Add tst-accept4. + * sysdeps/mach/hurd/kernel-features.h (__ASSUME_ACCEPT4): Remove + definition. + * sysdeps/nacl/kernel-features.h (__ASSUME_ACCEPT4): Remove + comment. + * sysdeps/unix/sysv/linux/accept4.c: Assume that an accept4 + implementation is available. + (accept4): Use the system call if available, otherwise use the + socket call. + * sysdeps/unix/sysv/linux/ia64/kernel-features.h + (__ASSUME_ACCEPT4_SYSCALL, __ASSUME_ACCEPT4): Do not undefine. + accept4 is unconditionally available in later 3.2 stable kernels. + (__ASSUME_ACCEPT4_SYSCALL): Define. + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_ACCEPT4_SOCKETCALL, __ASSUME_ACCEPT4): Remove + definitions. + * sysdeps/unix/sysv/linux/i386/kernel-features.h + (__ASSUME_ACCEPT4_SYSCALL): Define for Linux 4.3 or later. + 2017-04-13 Florian Weimer * elf/dl-misc.c (_dl_sysdep_read_whole_file): Assume that -- cgit v1.2.1