(
pid: RawPid,
waitopts: WaitOptions,
)
| 296 | |
| 297 | #[inline] |
| 298 | pub(crate) fn _waitpid( |
| 299 | pid: RawPid, |
| 300 | waitopts: WaitOptions, |
| 301 | ) -> io::Result<Option<(Pid, WaitStatus)>> { |
| 302 | unsafe { |
| 303 | let mut status = MaybeUninit::<i32>::uninit(); |
| 304 | let pid = ret_c_int(syscall!( |
| 305 | __NR_wait4, |
| 306 | c_int(pid as _), |
| 307 | &mut status, |
| 308 | c_int(waitopts.bits() as _), |
| 309 | zero() |
| 310 | ))?; |
| 311 | Ok(Pid::from_raw(pid).map(|pid| (pid, WaitStatus::new(status.assume_init())))) |
| 312 | } |
| 313 | } |
| 314 | |
| 315 | #[inline] |
| 316 | pub(crate) fn waitid(id: WaitId<'_>, options: WaitIdOptions) -> io::Result<Option<WaitIdStatus>> { |
no test coverage detected