(
epoll: EpollFd,
mut event_list: Buf,
timeout: Option<&Timespec>,
)
| 205 | #[doc(alias = "epoll_wait")] |
| 206 | #[inline] |
| 207 | pub fn wait<EpollFd: AsFd, Buf: Buffer<Event>>( |
| 208 | epoll: EpollFd, |
| 209 | mut event_list: Buf, |
| 210 | timeout: Option<&Timespec>, |
| 211 | ) -> io::Result<Buf::Output> { |
| 212 | // SAFETY: `epoll_wait` behaves. |
| 213 | let nfds = unsafe { syscalls::epoll_wait(epoll.as_fd(), event_list.parts_mut(), timeout)? }; |
| 214 | // SAFETY: `epoll_wait` behaves. |
| 215 | unsafe { Ok(event_list.assume_init(nfds)) } |
| 216 | } |
| 217 | |
| 218 | /// A record of an event that occurred. |
| 219 | #[repr(C)] |