795c5b0da03555cc9623e62efdc080852f6486a8
[musl] / src / select / pselect.c
1 #include <sys/select.h>
2 #include "syscall.h"
3 #include "libc.h"
4
5 int pselect(int n, fd_set *rfds, fd_set *wfds, fd_set *efds, const struct timespec *ts, const sigset_t *mask)
6 {
7         int r;
8         long data[2] = { (long)mask, 8 };
9         struct timespec ts_tmp;
10         if (ts) ts_tmp = *ts;
11         CANCELPT_BEGIN;
12         r = syscall6(__NR_pselect6, n, (long)rfds, (long)wfds, (long)efds, ts ? (long)&ts_tmp : 0, (long)data);
13         CANCELPT_END;
14         return r;
15 }