{
int rc = 0;
- virNWFilterLockFilterUpdates();
-
nwfilter->wantRemoved = 1;
/* trigger the update on VMs referencing the filter */
if (virNWFilterTriggerVMFilterRebuild(conn))
rc = 1;
nwfilter->wantRemoved = 0;
- virNWFilterUnlockFilterUpdates();
+
return rc;
}
return NULL;
}
+ virNWFilterLockFilterUpdates();
+
if ((nwfilter = virNWFilterObjFindByName(nwfilters, def->name))) {
- virNWFilterLockFilterUpdates();
nwfilter->newDef = def;
/* trigger the update on VMs referencing the filter */
if (virNWFilterTriggerVMFilterRebuild(conn)) {
return nwfilter;
}
+ virNWFilterUnlockFilterUpdates();
+
if (VIR_ALLOC(nwfilter) < 0) {
virReportOOMError();
return NULL;
nwfilterDriverLock(driver);
virNWFilterCallbackDriversLock();
+ virNWFilterLockFilterUpdates();
+
nwfilter = virNWFilterObjFindByUUID(&driver->nwfilters, obj->uuid);
if (!nwfilter) {
virNWFilterReportError(VIR_ERR_NO_NWFILTER,
if (nwfilter)
virNWFilterObjUnlock(nwfilter);
+ virNWFilterUnlockFilterUpdates();
+
virNWFilterCallbackDriversUnlock();
nwfilterDriverUnlock(driver);
return ret;