diff --git a/src/terminal/main.rs b/src/terminal/main.rs index 8e5f2d354cb8076c3e92d4f25fce22f15045efab..02affc17e34c190f1abe154b85c12d258e8597af 100644 --- a/src/terminal/main.rs +++ b/src/terminal/main.rs @@ -180,7 +180,10 @@ fn handle(console: &mut Console, master_fd: RawFd, process: &mut Child) { } match process.try_wait() { - Ok(_status) => break 'events, + Ok(status) => match status { + Some(_code) => break 'events, + None => () + }, Err(err) => match err.kind() { ErrorKind::WouldBlock => (), _ => panic!("terminal: failed to wait on child: {:?}", err)