From: Ian Jackson Date: Mon, 31 May 2021 13:43:42 +0000 (+0100) Subject: childio: Fix spurious error from leak drop when SIGTERMed X-Git-Tag: otter-0.7.0~194 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=ae79777a73a39cb8acd6be6d887699ef791dc3ec;p=otter.git childio: Fix spurious error from leak drop when SIGTERMed Signed-off-by: Ian Jackson --- diff --git a/src/childio.rs b/src/childio.rs index 5bc3fbe3..d6a6111e 100644 --- a/src/childio.rs +++ b/src/childio.rs @@ -80,7 +80,11 @@ impl Drop for ChildWrapper { .map_err(|_| anyhow!("pid {:?} out of range!", pid))?; let pid = Pid::from_raw(pid); signal::kill(pid, SIGTERM).context("kill")?; - self.child.wait().context("wait after kill")? + let mut es = self.child.wait().context("wait after kill")?; + if es.signal() == Some(SIGTERM as _) { + es = process::ExitStatus::from_raw(0); + } + es }, }; if ! self.reported && ! es.success()