diff options
Diffstat (limited to 'lib/libc/select')
| -rw-r--r-- | lib/libc/select/pselect.c | 11 | ||||
| -rw-r--r-- | lib/libc/select/select.c | 9 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/libc/select/pselect.c b/lib/libc/select/pselect.c new file mode 100644 index 00000000..75d31d87 --- /dev/null +++ b/lib/libc/select/pselect.c @@ -0,0 +1,11 @@ +#include <sys/select.h> +#include <stdint.h> +#include <syscall.h> + +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 })); +} diff --git a/lib/libc/select/select.c b/lib/libc/select/select.c new file mode 100644 index 00000000..4e9f2f99 --- /dev/null +++ b/lib/libc/select/select.c @@ -0,0 +1,9 @@ +#include <sys/select.h> +#include <syscall.h> + +int select(int nfds, fd_set *restrict readfds, fd_set *restrict writefds, + fd_set *restrict errorfds, struct timeval *restrict timeout) +{ + return syscall(pselect6, nfds, readfds, writefds, errorfds, timeout, + ((syscall_arg_t[]){ 0, 8 })); +} |
