virDomainObjPtr vm;
virDomainPtr dom = NULL;
- vm = virDomainObjListFindByIDRef(privconn->domains, id);
+ vm = virDomainObjListFindByID(privconn->domains, id);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
return want;
}
-static virDomainObjPtr
-virDomainObjListFindByIDInternal(virDomainObjListPtr doms,
- int id,
- bool ref)
+
+virDomainObjPtr
+virDomainObjListFindByID(virDomainObjListPtr doms,
+ int id)
{
virDomainObjPtr obj;
+
virObjectRWLockRead(doms);
obj = virHashSearch(doms->objs, virDomainObjListSearchID, &id, NULL);
- if (ref) {
- virObjectRef(obj);
- virObjectRWUnlock(doms);
- }
+ virObjectRef(obj);
+ virObjectRWUnlock(doms);
if (obj) {
virObjectLock(obj);
if (obj->removing) {
virObjectUnlock(obj);
- if (ref)
- virObjectUnref(obj);
+ virObjectUnref(obj);
obj = NULL;
}
}
- if (!ref)
- virObjectRWUnlock(doms);
- return obj;
-}
-
-virDomainObjPtr
-virDomainObjListFindByID(virDomainObjListPtr doms,
- int id)
-{
- return virDomainObjListFindByIDInternal(doms, id, false);
-}
-virDomainObjPtr
-virDomainObjListFindByIDRef(virDomainObjListPtr doms,
- int id)
-{
- return virDomainObjListFindByIDInternal(doms, id, true);
+ return obj;
}
virDomainObjPtr virDomainObjListFindByID(virDomainObjListPtr doms,
int id);
-virDomainObjPtr virDomainObjListFindByIDRef(virDomainObjListPtr doms,
- int id);
virDomainObjPtr virDomainObjListFindByUUID(virDomainObjListPtr doms,
const unsigned char *uuid);
virDomainObjPtr virDomainObjListFindByName(virDomainObjListPtr doms,
virDomainObjListConvert;
virDomainObjListExport;
virDomainObjListFindByID;
-virDomainObjListFindByIDRef;
virDomainObjListFindByName;
virDomainObjListFindByUUID;
virDomainObjListForEach;
cfg = libxlDriverConfigGet(driver);
- vm = virDomainObjListFindByIDRef(driver->domains, ev->domid);
+ vm = virDomainObjListFindByID(driver->domains, ev->domid);
if (!vm) {
VIR_INFO("Received event for unknown domain ID %d", ev->domid);
goto cleanup;
virDomainObjPtr vm;
virDomainPtr dom = NULL;
- vm = virDomainObjListFindByIDRef(driver->domains, id);
+ vm = virDomainObjListFindByID(driver->domains, id);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
goto cleanup;
dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ virDomainObjEndAPI(&vm);
return dom;
}
virDomainPtr dom = NULL;
openvzDriverLock(driver);
- vm = virDomainObjListFindByIDRef(driver->domains, id);
+ vm = virDomainObjListFindByID(driver->domains, id);
openvzDriverUnlock(driver);
if (!vm) {
virDomainObjPtr vm;
virDomainPtr dom = NULL;
- vm = virDomainObjListFindByID(driver->domains, id);
+ vm = virDomainObjListFindByID(driver->domains, id);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
cleanup:
- if (vm)
- virObjectUnlock(vm);
+ virDomainObjEndAPI(&vm);
return dom;
}
virDomainPtr ret = NULL;
virDomainObjPtr dom;
- if (!(dom = virDomainObjListFindByIDRef(privconn->domains, id))) {
+ if (!(dom = virDomainObjListFindByID(privconn->domains, id))) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
return NULL;
}
virDomainPtr dom = NULL;
umlDriverLock(driver);
- vm = virDomainObjListFindByIDRef(driver->domains, id);
+ vm = virDomainObjListFindByID(driver->domains, id);
umlDriverUnlock(driver);
if (!vm) {
virDomainPtr dom = NULL;
vmwareDriverLock(driver);
- vm = virDomainObjListFindByIDRef(driver->domains, id);
+ vm = virDomainObjListFindByID(driver->domains, id);
vmwareDriverUnlock(driver);
if (!vm) {
virDomainPtr ret = NULL;
virDomainObjPtr dom;
- dom = virDomainObjListFindByIDRef(privconn->driver->domains, id);
+ dom = virDomainObjListFindByID(privconn->driver->domains, id);
if (dom == NULL) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);