summaryrefslogtreecommitdiff
path: root/lib/libc/select/pselect.c
blob: 70f63f2d576de38cb3de1d0fa30a9663d495e32c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "asm/unistd_64.h" // for __NR_pselect6

#include <stdint.h>	// for uintptr_t
#include <sys/select.h> // for fd_set, pselect, sigset_t
#include <syscall.h>	// for __syscall_6, syscall, syscall_arg_t

int pselect(int nfds, fd_set *restrict readfds, fd_set *restrict writefds,
	    fd_set *restrict errorfds, const struct timespec *restrict timeout,
	    const sigset_t *restrict sigmask)
{
	return syscall(pselect6, nfds, readfds, writefds, errorfds, timeout,
		       ((syscall_arg_t[]){ (uintptr_t)sigmask, 8 }));
}