chiark
/
gitweb
/
~ianmdlvl
/
otter.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
fd4aa22
)
childio: Fix spurious error from leak drop when SIGTERMed
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Mon, 31 May 2021 13:43:42 +0000
(14:43 +0100)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Mon, 31 May 2021 13:55:13 +0000
(14:55 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/childio.rs
patch
|
blob
|
history
diff --git
a/src/childio.rs
b/src/childio.rs
index 5bc3fbe3b3321fafdc98d98a1e2faf1b972fa886..d6a6111e7113766dd8fe57257e8a85ae5aa7b322 100644
(file)
--- 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()