virObjectRWUnlock(doms);
if (obj) {
virObjectLock(obj);
- if (obj->removing) {
- virObjectUnlock(obj);
- virObjectUnref(obj);
- obj = NULL;
- }
+ if (obj->removing)
+ virDomainObjEndAPI(&obj);
}
return obj;
obj = virDomainObjListFindByUUIDLocked(doms, uuid);
virObjectRWUnlock(doms);
- if (obj && obj->removing) {
- virObjectUnlock(obj);
- virObjectUnref(obj);
- obj = NULL;
- }
+ if (obj && obj->removing)
+ virDomainObjEndAPI(&obj);
return obj;
}
obj = virDomainObjListFindByNameLocked(doms, name);
virObjectRWUnlock(doms);
- if (obj && obj->removing) {
- virObjectUnlock(obj);
- virObjectUnref(obj);
- obj = NULL;
- }
+ if (obj && obj->removing)
+ virDomainObjEndAPI(&obj);
return obj;
}
if (vm->removing ||
(filter && !filter(conn, vm->def)) ||
!virDomainObjMatchFilter(vm, flags)) {
- virObjectUnlock(vm);
- virObjectUnref(vm);
+ virDomainObjEndAPI(&vm);
VIR_DELETE_ELEMENT(*list, i, *nvms);
continue;
}