summaryrefslogtreecommitdiffstats
path: root/usr/klibc/pselect.c
blob: 42777f92a2461d7acebb9e3ccde0b57646921364 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
 * pselect.c
 */

#include <sys/select.h>
#include <sys/syscall.h>

struct __pselect6 {
	const sigset_t *sigmask;
	size_t sigsize;
};

__extern int __pselect6(int, fd_set *, fd_set *, fd_set *,
			const struct timespec *, const struct __pselect6 *);

int pselect(int n, fd_set * readfds, fd_set * writefds, fd_set * exceptfds,
	    const struct timespec *timeout, const sigset_t * sigmask)
{
	struct __pselect6 extended_sigmask = { sigmask, sizeof *sigmask };
	return __pselect6(n, readfds, writefds, exceptfds,
			  timeout, &extended_sigmask);
}