allVms_.push_back(piface);
/* We create cpu_action corresponding to a VM process on the host operating system. */
- /* FIXME: TODO: we have to periodically input GUESTOS_NOISE to the system? how ? */
+ /* TODO: we have to periodically input GUESTOS_NOISE to the system? how ? */
action_ = host_PM->pimpl_cpu->execution_start(0);
/* Initialize the VM parameters */
VirtualMachineImpl::~VirtualMachineImpl()
{
onVmDestruction(this);
- allVms_.erase(find(allVms_.begin(), allVms_.end(), piface_));
+ /* I was already removed from the allVms set if the VM was destroyed cleanly */
+ auto iter = find(allVms_.begin(), allVms_.end(), piface_);
+ if (iter != allVms_.end())
+ allVms_.erase(iter);
/* dirty page tracking */
unsigned int size = xbt_dict_size(dp_objs);
/* keep the bound value of the cpu action of the VM. */
double old_bound = action_->getBound();
- if (old_bound != 0) {
+ if (old_bound > 0) {
XBT_DEBUG("migrate VM(%s): set bound (%f) at %s", vm_name, old_bound, pm_name_dst);
new_cpu_action->setBound(old_bound);
}