From cd60de8f7f208441222892cf42165e6b89f9efe2 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Wed, 6 May 2020 10:10:58 +0100 Subject: [PATCH] Revert "vmm: vm: Unpark the threads before shutdown when the current state is paused" This reverts commit e1a07ce3c42f771364078a526db00ab2029c0e37. Signed-off-by: Rob Bradford --- vmm/src/vm.rs | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/vmm/src/vm.rs b/vmm/src/vm.rs index a739e180f..ed8704c87 100755 --- a/vmm/src/vm.rs +++ b/vmm/src/vm.rs @@ -589,15 +589,10 @@ impl Vm { } pub fn shutdown(&mut self) -> Result<()> { - let current_state = self.get_state()?; + let mut state = self.state.try_write().map_err(|_| Error::PoisonedState)?; let new_state = VmState::Shutdown; - current_state.valid_transition(new_state)?; - // If the current state is paused that means most of the handles got killed by pthread_kill - // We need to unpark those threads by calling resume - if current_state == VmState::Paused { - self.resume().map_err(Error::Resume)?; - } + state.valid_transition(new_state)?; if self.on_tty { // Don't forget to set the terminal in canonical mode @@ -623,8 +618,6 @@ impl Vm { for thread in self.threads.drain(..) { thread.join().map_err(Error::ThreadCleanup)? } - - let mut state = self.state.try_write().map_err(|_| Error::PoisonedState)?; *state = new_state; Ok(())