| #include <sys/select.h> | |
| #include <signal.h> | |
| #include <stdint.h> | |
| #include "syscall.h" | |
| #include "libc.h" | |
| int pselect(int n, | |
| fd_set* restrict rfds, | |
| fd_set* restrict wfds, | |
| fd_set* restrict efds, | |
| const struct timespec* restrict ts, | |
| const sigset_t* restrict mask) { | |
| syscall_arg_t data[2] = {(uintptr_t)mask, _NSIG / 8}; | |
| struct timespec ts_tmp; | |
| if (ts) | |
| ts_tmp = *ts; | |
| return syscall_cp(SYS_pselect6, n, rfds, wfds, efds, ts ? &ts_tmp : 0, data); | |
| } |