cleanup mbstowcs wrapper
[musl] / src / select / pselect.c
index 795c5b0..a19e153 100644 (file)
@@ -1,15 +1,12 @@
 #include <sys/select.h>
+#include <signal.h>
 #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, _NSIG/8 };
        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);
 }