[backfire] scripts: merge r29944 - r29948
[openwrt-10.03/.git] / toolchain / uClibc / patches-0.9.30.1 / 300-fix-ppoll.diff
1
2 It will match kernel's sigset_t starting from 0.9.31.
3
4 Please try attached patch.
5 -- 
6 vda
7
8 --- uClibc.0/libc/sysdeps/linux/common/ppoll.c
9 +++ uClibc.1/libc/sysdeps/linux/common/ppoll.c
10 @@ -17,6 +17,7 @@
11     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
12     02111-1307 USA.  */
13  
14 +#include <signal.h>
15  #include <sys/syscall.h>
16  #include <sys/poll.h>
17  
18 @@ -26,9 +27,9 @@
19  
20  # define __NR___libc_ppoll __NR_ppoll
21  static __always_inline
22 -_syscall4(int, __libc_ppoll, struct pollfd *, fds,
23 +_syscall5(int, __libc_ppoll, struct pollfd *, fds,
24         nfds_t, nfds, const struct timespec *, timeout,
25 -       const __sigset_t *, sigmask)
26 +       const __sigset_t *, sigmask, size_t, sigsetsize)
27  
28  int
29  ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout,
30 @@ -43,7 +44,7 @@
31        timeout = &tval;
32      }
33  
34 -  return __libc_ppoll(fds, nfds, timeout, sigmask);
35 +  return __libc_ppoll(fds, nfds, timeout, sigmask, _NSIG / 8);
36  }
37  libc_hidden_def(ppoll)
38