in reverie-ptrace/src/trace/mod.rs [203:219]
fn wait(id: IdType, flags: WaitPidFlag) -> Result<Option<WaitStatus>, Errno> {
loop {
let result = waitid(id, flags).map(|status| {
if status == WaitStatus::StillAlive {
None
} else {
Some(status)
}
});
if result == Err(Errno::EINTR) {
continue;
}
return result;
}
}