packages/ipv6/ndisc/patches/120-ppoll.patch
swalker 7c0aa70914 [packages] ndisc: update to 1.0.2, package rltraceroute6 (#8153), refresh patches
git-svn-id: svn://svn.openwrt.org/openwrt/packages@29759 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-16 06:25:23 +00:00

48 lines
1.3 KiB
Diff

--- a/compat/fixups.h
+++ b/compat/fixups.h
@@ -50,13 +50,25 @@ int inet6_rth_add (void *bp, const struc
# define IPV6_RTHDR_TYPE_0 0
#endif
-#ifndef HAVE_PPOLL
+#include <sys/poll.h>
+
+#ifdef HAVE_PPOLL
+static inline int
+compat_ppoll (struct pollfd *restrict fds, int n,
+ const struct timespec *restrict ts,
+ const sigset_t *restrict sigmask)
+{
+ return ppoll(fds, n, ts, sigmask);
+}
+
+#else
# include <signal.h>
struct pollfd;
struct timespec;
-int ppoll (struct pollfd *restrict fds, int n,
- const struct timespec *restrict ts,
- const sigset_t *restrict sigmask);
+int compat_ppoll (struct pollfd *restrict fds, int n,
+ const struct timespec *restrict ts,
+ const sigset_t *restrict sigmask);
#endif
+#define ppoll compat_ppoll
--- a/compat/ppoll.c
+++ b/compat/ppoll.c
@@ -32,9 +32,9 @@
# include <pthread.h> // sigprocmask is not thread-safe
#endif
-int ppoll (struct pollfd *restrict fds, int n,
- const struct timespec *restrict ts,
- const sigset_t *restrict sigset)
+int compat_ppoll (struct pollfd *restrict fds, int n,
+ const struct timespec *restrict ts,
+ const sigset_t *restrict sigset)
{
sigset_t origset;
int timeout;