#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); | |
} |