From c034b2e1655dd2856f8b6f3247e6e406e46c24a4 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 4 Mar 2010 12:59:10 +0100 Subject: poll: unavailable on linux < 2.2.0 fixes bug #253 Signed-off-by: Bernhard Reutner-Fischer --- libc/sysdeps/linux/common/bits/kernel-features.h | 5 +++++ libc/sysdeps/linux/common/poll.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'libc') diff --git a/libc/sysdeps/linux/common/bits/kernel-features.h b/libc/sysdeps/linux/common/bits/kernel-features.h index 88297349a..b04ad6d3e 100644 --- a/libc/sysdeps/linux/common/bits/kernel-features.h +++ b/libc/sysdeps/linux/common/bits/kernel-features.h @@ -28,6 +28,11 @@ #include #define __LINUX_KERNEL_VERSION LINUX_VERSION_CODE +/* When was `poll' introduced? */ +#if __LINUX_KERNEL_VERSION >= 131584 +# define __ASSUME_POLL_SYSCALL 1 +#endif + /* Real-time signal became usable in 2.1.70. */ #if __LINUX_KERNEL_VERSION >= 131398 # define __ASSUME_REALTIME_SIGNALS 1 diff --git a/libc/sysdeps/linux/common/poll.c b/libc/sysdeps/linux/common/poll.c index 4a6f06e19..52f6c76b4 100644 --- a/libc/sysdeps/linux/common/poll.c +++ b/libc/sysdeps/linux/common/poll.c @@ -19,8 +19,9 @@ #include #include +#include -#ifdef __NR_poll +#if defined __ASSUME_POLL_SYSCALL && defined __NR_poll _syscall3(int, poll, struct pollfd *, fds, unsigned long int, nfds, int, timeout) -- cgit v1.2.3