From 4f0f74b859c6cf56fcd54766bc1bb90bdcfd742c Mon Sep 17 00:00:00 2001 From: Jake Hillion Date: Thu, 19 May 2022 17:19:52 +0100 Subject: [PATCH] fixed broken waitpid and switched to waitid --- src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 7561300..049b24c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,8 +17,8 @@ use std::path::Path; use nix::fcntl::OFlag; use nix::sys::socket; -use nix::sys::wait::{waitpid, WaitPidFlag, WaitStatus}; -use nix::unistd::{self, Pid}; +use nix::sys::wait::{waitid, Id, WaitPidFlag, WaitStatus}; +use nix::unistd; pub struct RunArgs<'a> { pub spec: Option<&'a Path>, @@ -72,7 +72,7 @@ pub fn run(args: &RunArgs) -> Result { let mut exit_code = exitcode::OK; loop { - let status = match waitpid(Some(Pid::from_raw(-1)), Some(WaitPidFlag::WEXITED)) { + let status = match waitid(Id::All, WaitPidFlag::WEXITED) { Ok(v) => Ok(v), Err(nix::Error::ECHILD) => { info!("all child processes have exited, exiting...");