pub fn poll(fds: [*]pollfd, n: nfds_t, timeout: i32) usize
pub fn poll(fds: [*]pollfd, n: nfds_t, timeout: i32) usize { if (@hasField(SYS, "poll")) { return syscall3(.poll, @intFromPtr(fds), n, @as(u32, @bitCast(timeout))); } else { var ts: timespec = if (timeout >= 0) .{ .sec = @divTrunc(timeout, 1000), .nsec = @rem(timeout, 1000) * 1000000, } else undefined; return ppoll( fds, n, if (timeout >= 0) &ts else null, null, ); } }