You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.7 KiB
56 lines
1.7 KiB
15 years ago
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
||
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
||
|
#
|
||
|
# Filename: package/.../uclibc/300-fix-ppoll.patch
|
||
|
# Copyright (C) 2009 The OpenSDE Project
|
||
|
#
|
||
|
# More information can be found in the files COPYING and README.
|
||
|
#
|
||
|
# This patch file is dual-licensed. It is available under the license the
|
||
|
# patched project is licensed under, as long as it is an OpenSource license
|
||
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
|
||
|
# of the GNU General Public License as published by the Free Software
|
||
|
# Foundation; either version 2 of the License, or (at your option) any later
|
||
|
# version.
|
||
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
||
|
|
||
|
https://dev.openwrt.org/browser/trunk/toolchain/uClibc/patches-0.9.30.1/300-fix-ppoll.diff
|
||
|
|
||
|
It will match kernel's sigset_t starting from 0.9.31.
|
||
|
|
||
|
Please try attached patch.
|
||
|
--
|
||
|
vda
|
||
|
|
||
|
--- ./libc/sysdeps/linux/common/ppoll.c.orig
|
||
|
+++ ./libc/sysdeps/linux/common/ppoll.c
|
||
|
@@ -17,6 +17,7 @@
|
||
|
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||
|
02111-1307 USA. */
|
||
|
|
||
|
+#include <signal.h>
|
||
|
#include <sys/syscall.h>
|
||
|
#include <sys/poll.h>
|
||
|
|
||
|
@@ -26,9 +27,9 @@
|
||
|
|
||
|
# define __NR___libc_ppoll __NR_ppoll
|
||
|
static __always_inline
|
||
|
-_syscall4(int, __libc_ppoll, struct pollfd *, fds,
|
||
|
+_syscall5(int, __libc_ppoll, struct pollfd *, fds,
|
||
|
nfds_t, nfds, const struct timespec *, timeout,
|
||
|
- const __sigset_t *, sigmask)
|
||
|
+ const __sigset_t *, sigmask, size_t, sigsetsize)
|
||
|
|
||
|
int
|
||
|
ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout,
|
||
|
@@ -43,7 +44,7 @@
|
||
|
timeout = &tval;
|
||
|
}
|
||
|
|
||
|
- return __libc_ppoll(fds, nfds, timeout, sigmask);
|
||
|
+ return __libc_ppoll(fds, nfds, timeout, sigmask, _NSIG / 8);
|
||
|
}
|
||
|
libc_hidden_def(ppoll)
|
||
|
|