summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2011-05-11 11:31:45 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2011-05-11 11:58:07 +0200
commit74a2c71153b910ee4773866ee30be84730a4d5b8 (patch)
tree41ac5d32a5b40f4acdd0d0bee0831696df0d12bb /libc/sysdeps/linux/common
parent46e3df937b05fa291470e975cd836c5435aa0ecc (diff)
accept4: Implement cancellation
.. and add proper prototype, move it into it's own obj and other such cleanups. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r--libc/sysdeps/linux/common/bits/kernel-features.h12
-rw-r--r--libc/sysdeps/linux/common/stubs.c4
2 files changed, 16 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/bits/kernel-features.h b/libc/sysdeps/linux/common/bits/kernel-features.h
index 68b881c09..b338e0770 100644
--- a/libc/sysdeps/linux/common/bits/kernel-features.h
+++ b/libc/sysdeps/linux/common/bits/kernel-features.h
@@ -454,6 +454,18 @@
#define __ASSUME_IEEE_RAISE_EXCEPTION 1
#endif
+/* Support for the accept4 syscall was added in 2.6.28. */
+#if __LINUX_KERNEL_VERSION >= 0x02061c \
+ && (defined __i386__ || defined __x86_64__ || defined __powerpc__ \
+ || defined __sparc__ || defined __s390__)
+# define __ASSUME_ACCEPT4 1
+#endif
+
+/* Support for the accept4 syscall for alpha was added after 2.6.33-rc1. */
+#if __LINUX_KERNEL_VERSION >= 0x020621 && defined __alpha__
+# define __ASSUME_ACCEPT4 1
+#endif
+
/* Support for the FUTEX_CLOCK_REALTIME flag was added in 2.6.29. */
#if __LINUX_KERNEL_VERSION >= 0x02061d
# define __ASSUME_FUTEX_CLOCK_REALTIME 1
diff --git a/libc/sysdeps/linux/common/stubs.c b/libc/sysdeps/linux/common/stubs.c
index 655c64001..d9379874a 100644
--- a/libc/sysdeps/linux/common/stubs.c
+++ b/libc/sysdeps/linux/common/stubs.c
@@ -31,6 +31,10 @@ static int enosys_stub(void)
# undef __NR_sync_file_range
#endif
+#ifndef __NR_accept4
+make_stub(accept4)
+#endif
+
#ifndef __NR_bdflush
make_stub(bdflush)
#endif