blob: c8edc43144a5a47cf232a22af345f9de28a27148 [file] [log] [blame]
#include <poll.h>
#include <time.h>
#include <signal.h>
#include "syscall.h"
#include "libc.h"
int poll(struct pollfd* fds, nfds_t n, int timeout) {
#ifdef SYS_poll
return syscall_cp(SYS_poll, fds, n, timeout);
#else
return syscall_cp(
SYS_ppoll, fds, n,
timeout >= 0
? &((struct timespec){.tv_sec = timeout / 1000,
.tv_nsec = timeout % 1000 * 1000000})
: 0,
0, _NSIG / 8);
#endif
}