mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
vmm: properly set vcpu state when thread exited
Once error occur, vcpu thread may exit, this should be critical event for the whole VM, we should fire exit event and set vcpu state. If we don't set vcpu state, the shutdown process will hang at signal_thread, which is waiting the vcpu state to change. Signed-off-by: Yong He <alexyonghe@tencent.com>
This commit is contained in:
@@ -1011,12 +1011,16 @@ impl CpuManager {
|
||||
"VCPU generated error: {:?}",
|
||||
Error::UnexpectedVmExit
|
||||
);
|
||||
vcpu_run_interrupted.store(true, Ordering::SeqCst);
|
||||
exit_evt.write(1).unwrap();
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
Err(e) => {
|
||||
error!("VCPU generated error: {:?}", Error::VcpuRun(e.into()));
|
||||
vcpu_run_interrupted.store(true, Ordering::SeqCst);
|
||||
exit_evt.write(1).unwrap();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user