vmm: don't redundantly set the TTY to canon mode

If the VM is shut down, either it's going to be started again, in
which case we still want to be in raw mode, or the process is about to
exit, in which case canon mode will be set at the end of main.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
This commit is contained in:
Alyssa Ross 2023-03-22 22:17:15 +00:00 committed by Bo Chen
parent 4485210de5
commit cd1a645421

View File

@ -144,9 +144,6 @@ pub enum Error {
#[error("Cannot setup terminal in raw mode: {0}")] #[error("Cannot setup terminal in raw mode: {0}")]
SetTerminalRaw(#[source] vmm_sys_util::errno::Error), SetTerminalRaw(#[source] vmm_sys_util::errno::Error),
#[error("Cannot setup terminal in canonical mode.: {0}")]
SetTerminalCanon(#[source] vmm_sys_util::errno::Error),
#[error("Cannot spawn a signal handler thread: {0}")] #[error("Cannot spawn a signal handler thread: {0}")]
SignalHandlerSpawn(#[source] io::Error), SignalHandlerSpawn(#[source] io::Error),
@ -1213,15 +1210,6 @@ impl Vm {
state.valid_transition(new_state)?; state.valid_transition(new_state)?;
if self.on_tty {
// Don't forget to set the terminal in canonical mode
// before to exit.
io::stdin()
.lock()
.set_canon_mode()
.map_err(Error::SetTerminalCanon)?;
}
// Trigger the termination of the signal_handler thread // Trigger the termination of the signal_handler thread
if let Some(signals) = self.signals.take() { if let Some(signals) = self.signals.take() {
signals.close(); signals.close();