Log error instead of panicking when child fails to start

This commit is contained in:
Roderick van Domburg 2021-03-31 22:13:36 +02:00
parent 56f1fb6dae
commit 0149725d77

View file

@ -639,16 +639,20 @@ impl Future for Main {
progress = true;
if let Some(ref program) = self.player_event_program {
if let Some(child) = run_program_on_events(event, program) {
let child = child
.expect("program failed to start")
.map(|status| {
if !status.success() {
error!("child exited with status {:?}", status.code());
}
})
.map_err(|e| error!("failed to wait on child process: {}", e));
if child.is_ok() {
let child = child
.unwrap()
.map(|status| {
if !status.success() {
error!("child exited with status {:?}", status.code());
}
})
.map_err(|e| error!("failed to wait on child process: {}", e));
self.handle.spawn(child);
self.handle.spawn(child);
} else {
error!("{:?} failed to start", program);
}
}
}
}