VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
- if (!privdom->persistent)
+ if (!privdom->persistent) {
virDomainObjListRemove(privconn->domains, privdom);
+ virObjectLock(privdom);
+ }
ret = 0;
cleanup:
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
- if (!privdom->persistent)
+ if (!privdom->persistent) {
virDomainObjListRemove(privconn->domains, privdom);
+ virObjectLock(privdom);
+ }
ret = 0;
cleanup:
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
- if (!privdom->persistent)
+ if (!privdom->persistent) {
virDomainObjListRemove(privconn->domains, privdom);
+ virObjectLock(privdom);
+ }
}
ret = 0;
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_SAVED);
- if (!privdom->persistent)
+ if (!privdom->persistent) {
virDomainObjListRemove(privconn->domains, privdom);
+ virObjectLock(privdom);
+ }
ret = 0;
cleanup:
event = virDomainEventLifecycleNewFromObj(privdom,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_CRASHED);
- if (!privdom->persistent)
+ if (!privdom->persistent) {
virDomainObjListRemove(privconn->domains, privdom);
+ virObjectLock(privdom);
+ }
}
ret = 0;
VIR_DOMAIN_EVENT_UNDEFINED_REMOVED);
privdom->hasManagedSave = false;
- if (virDomainObjIsActive(privdom))
+ if (virDomainObjIsActive(privdom)) {
privdom->persistent = 0;
- else
+ } else {
virDomainObjListRemove(privconn->domains, privdom);
+ virObjectLock(privdom);
+ }
ret = 0;