You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We'll need to gracefully stop vcpus when the guest initiates a shutdown. One issue is that the WhpVirtualProcessor objects are moved to the vcpu runner loop and are no longer available afterwards.
A few ideas:
Have the vcpu loop use a WhpVirtualProcessor reference instead of owning it
it needs to become Send+Sync, which may not be safe/desired, considering that WhpVirtualProcessor embeds the emulator context
if the vcpu thread gets a WhpVirtualProcessor reference, rust requires it to have a static lifetime
Clone the WhpVirtualProcessor or libwhp;:VirtualProcessor objects
WhpVirtualProcessor owns a VirtualProcessor object, which implements Drop
WhpVirtualProcessor might become quite beefy, including objects that we use in order to emulate Kvm's API (e.g. pio/mmio events, etc)
Implement a "cancel_vcpu" method on the partition object
We'd need to handle errors raised when canceling an already destroyed vcpu
doesn't seem too clean as we're duplicating functionality
The text was updated successfully, but these errors were encountered:
We'll need to gracefully stop vcpus when the guest initiates a shutdown. One issue is that the WhpVirtualProcessor objects are moved to the vcpu runner loop and are no longer available afterwards.
A few ideas:
The text was updated successfully, but these errors were encountered: