goto endjob;
}
- if (priv->monJSON && !priv->gotShutdown) {
+ if (priv->monJSON &&
+ virDomainObjGetState(vm, NULL) != VIR_DOMAIN_SHUTDOWN) {
VIR_DEBUG("Monitor connection to '%s' closed without SHUTDOWN event; "
"assuming the domain crashed", vm->def->name);
eventReason = VIR_DOMAIN_EVENT_STOPPED_FAILED;
"%s", _("resume operation failed"));
goto endjob;
}
- priv->gotShutdown = false;
if (virDomainSaveStatus(driver->xmlopt, cfg->stateDir, vm, driver->caps) < 0) {
VIR_WARN("Unable to save status on vm %s after state change",
virObjectLock(vm);
priv = vm->privateData;
- if (priv->gotShutdown) {
+ if (virDomainObjGetState(vm, NULL) == VIR_DOMAIN_SHUTDOWN) {
VIR_DEBUG("Ignoring repeated SHUTDOWN event from domain %s",
vm->def->name);
goto unlock;
vm->def->name);
goto unlock;
}
- priv->gotShutdown = true;
VIR_DEBUG("Transitioned guest %s to shutdown state",
vm->def->name);
priv->monJSON = true;
priv->monError = false;
priv->monStart = 0;
- priv->gotShutdown = false;
priv->runningReason = VIR_DOMAIN_RUNNING_UNKNOWN;
VIR_DEBUG("Updating guest CPU definition");
monConfig = NULL;
priv->monJSON = monJSON;
- priv->gotShutdown = false;
-
/* Attaching to running QEMU so we need to detect whether it was started
* with -no-reboot. */
qemuProcessPrepareAllowReboot(vm);