This is practically copy of qemuDomObjEndAPI. The reason why is
it so widely available is to avoid code duplication, since the
function is going to be called from our bridge driver, test
driver and parallels driver too.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
return NULL;
}
+void
+virNetworkObjEndAPI(virNetworkObjPtr *net)
+{
+ if (!*net)
+ return;
+
+ virObjectUnlock(*net);
+ *net = NULL;
+}
+
virNetworkObjListPtr virNetworkObjListNew(void)
{
virNetworkObjListPtr nets;
if (!virFileStripSuffix(entry->d_name, ".xml"))
continue;
- if ((net = virNetworkLoadState(nets, stateDir, entry->d_name)))
- virObjectUnlock(net);
+ net = virNetworkLoadState(nets, stateDir, entry->d_name);
+ virNetworkObjEndAPI(&net);
}
closedir(dir);
configDir,
autostartDir,
entry->d_name);
- if (net)
- virObjectUnlock(net);
+ virNetworkObjEndAPI(&net);
}
closedir(dir);
}
cleanup:
- if (net)
- virObjectUnlock(net);
+ virNetworkObjEndAPI(&net);
return ret;
}
};
virNetworkObjPtr virNetworkObjNew(void);
+void virNetworkObjEndAPI(virNetworkObjPtr *net);
typedef struct _virNetworkObjList virNetworkObjList;
typedef virNetworkObjList *virNetworkObjListPtr;
virNetworkLoadAllConfigs;
virNetworkLoadAllState;
virNetworkObjAssignDef;
+virNetworkObjEndAPI;
virNetworkObjFindByName;
virNetworkObjFindByUUID;
virNetworkObjGetPersistentDef;