155a6eb0382ce79a265c9ea10e33d6b89be5e91c
[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 = syscall(SYS_pselect6, n, rfds, wfds, efds, ts ? &ts_tmp : 0, data);
13         CANCELPT_TRY;
14         CANCELPT_END;
15         return r;
16 }