]>
Commit | Line | Data |
---|---|---|
4e20436f JR |
1 | --- trunk/uClibc/libc/sysdeps/linux/common/ppoll.c 2008/11/20 22:11:44 24105 |
2 | +++ trunk/uClibc/libc/sysdeps/linux/common/ppoll.c 2009/01/28 23:42:01 25109 | |
3 | @@ -17,6 +17,7 @@ | |
4 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
5 | 02111-1307 USA. */ | |
6 | ||
7 | +#include <signal.h> | |
8 | #include <sys/syscall.h> | |
9 | #include <sys/poll.h> | |
10 | ||
11 | @@ -26,24 +27,26 @@ | |
12 | ||
13 | # define __NR___libc_ppoll __NR_ppoll | |
14 | static __always_inline | |
15 | -_syscall4(int, __libc_ppoll, struct pollfd *, fds, | |
16 | - nfds_t, nfds, const struct timespec *, timeout, | |
17 | - const __sigset_t *, sigmask) | |
18 | +_syscall5(int, __libc_ppoll, | |
19 | + struct pollfd *, fds, | |
20 | + nfds_t, nfds, | |
21 | + const struct timespec *, timeout, | |
22 | + const __sigset_t *, sigmask, | |
23 | + size_t, sigsetsize) | |
24 | ||
25 | int | |
26 | -ppoll (struct pollfd *fds, nfds_t nfds, const struct timespec *timeout, | |
27 | +ppoll(struct pollfd *fds, nfds_t nfds, const struct timespec *timeout, | |
28 | const __sigset_t *sigmask) | |
29 | { | |
30 | - /* The Linux kernel can in some situations update the timeout value. | |
31 | - We do not want that so use a local variable. */ | |
32 | - struct timespec tval; | |
33 | - if (timeout != NULL) | |
34 | - { | |
35 | - tval = *timeout; | |
36 | - timeout = &tval; | |
37 | - } | |
38 | + /* The Linux kernel can in some situations update the timeout value. | |
39 | + We do not want that so use a local variable. */ | |
40 | + struct timespec tval; | |
41 | + if (timeout != NULL) { | |
42 | + tval = *timeout; | |
43 | + timeout = &tval; | |
44 | + } | |
45 | ||
46 | - return __libc_ppoll(fds, nfds, timeout, sigmask); | |
47 | + return __libc_ppoll(fds, nfds, timeout, sigmask, _NSIG / 8); | |
48 | } | |
49 | libc_hidden_def(ppoll) | |
50 |