#include #include #include int poll(struct pollfd fds[], nfds_t nfds, int timeout) { if (timeout < 0) return ppoll(fds, nfds, nullptr, nullptr); const timespec timeout_ts { .tv_sec = static_cast(timeout / 1000), .tv_nsec = static_cast(timeout % 1000), }; return ppoll(fds, nfds, &timeout_ts, nullptr); } int ppoll(struct pollfd fds[], nfds_t nfds, const struct timespec* timeout, const sigset_t* sigmask) { return syscall(SYS_PPOLL, fds, nfds, timeout, sigmask); }