OLD | NEW |
1 #include <sys/select.h> | 1 #include <sys/select.h> |
2 #include <signal.h> | 2 #include <signal.h> |
3 #include <stdint.h> | 3 #include <stdint.h> |
4 #include "syscall.h" | 4 #include "syscall.h" |
5 #include "libc.h" | 5 #include "libc.h" |
6 | 6 |
7 int pselect(int n, fd_set *restrict rfds, fd_set *restrict wfds, fd_set *restric
t efds, const struct timespec *restrict ts, const sigset_t *restrict mask) | 7 int pselect(int n, |
8 { | 8 fd_set* restrict rfds, |
9 » syscall_arg_t data[2] = { (uintptr_t)mask, _NSIG/8 }; | 9 fd_set* restrict wfds, |
10 » struct timespec ts_tmp; | 10 fd_set* restrict efds, |
11 » if (ts) ts_tmp = *ts; | 11 const struct timespec* restrict ts, |
12 » return syscall_cp(SYS_pselect6, n, rfds, wfds, efds, ts ? &ts_tmp : 0, d
ata); | 12 const sigset_t* restrict mask) { |
| 13 syscall_arg_t data[2] = {(uintptr_t)mask, _NSIG / 8}; |
| 14 struct timespec ts_tmp; |
| 15 if (ts) |
| 16 ts_tmp = *ts; |
| 17 return syscall_cp(SYS_pselect6, n, rfds, wfds, efds, ts ? &ts_tmp : 0, data); |
13 } | 18 } |
OLD | NEW |