Revision control

Copy as Markdown

Other Tools

use crate::{backend, io};
pub use backend::event::poll_fd::{PollFd, PollFlags};
/// `poll(self.fds, timeout)`—Wait for events on lists of file descriptors.
///
/// On macOS, `poll` doesn't work on fds for /dev/tty or /dev/null, however
/// [`select`] is available and does work on these fds.
///
/// [`select`]: crate::event::select()
///
/// # References
/// - [Beej's Guide to Network Programming]
/// - [POSIX]
/// - [Linux]
/// - [Apple]
/// - [Winsock]
/// - [FreeBSD]
/// - [NetBSD]
/// - [OpenBSD]
/// - [DragonFly BSD]
/// - [illumos]
///
#[inline]
pub fn poll(fds: &mut [PollFd<'_>], timeout: i32) -> io::Result<usize> {
backend::event::syscalls::poll(fds, timeout)
}