#include "syscall.h"
#include "libc.h"
-int pselect(int n, fd_set *rfds, fd_set *wfds, fd_set *efds, const struct timespec *ts, const sigset_t *mask)
+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)
{
- int r;
- long data[2] = { (long)mask, 8 };
+ long data[2] = { (long)mask, __SYSCALL_SSLEN };
struct timespec ts_tmp;
if (ts) ts_tmp = *ts;
- CANCELPT_BEGIN;
- r = syscall6(__NR_pselect6, n, (long)rfds, (long)wfds, (long)efds, ts ? (long)&ts_tmp : 0, (long)data);
- CANCELPT_END;
- return r;
+ return syscall_cp(SYS_pselect6, n, rfds, wfds, efds, ts ? &ts_tmp : 0, data);
}