提交 c35b5269 编写于 作者: M Matthias Bolte

nwfilter: Free nwfilter hash of virConnectPtr

And close the driver on connection close.
上级 051df19e
...@@ -128,6 +128,20 @@ virSecretFreeName(void *secret_, const char *name ATTRIBUTE_UNUSED) ...@@ -128,6 +128,20 @@ virSecretFreeName(void *secret_, const char *name ATTRIBUTE_UNUSED)
virUnrefSecret(secret); virUnrefSecret(secret);
} }
/**
* virNWFilterPoolFreeName:
* @pool: a nwfilter pool object
*
* Destroy the nwfilter pool object, this is just used by the nwfilter pool hash callback.
*
* Returns 0 in case of success and -1 in case of failure.
*/
static int
virNWFilterPoolFreeName(virNWFilterPtr pool, const char *name ATTRIBUTE_UNUSED)
{
return (virUnrefNWFilter(pool));
}
/** /**
* virDomainSnapshotFreeName: * virDomainSnapshotFreeName:
* @snapshot: a domain snapshotobject * @snapshot: a domain snapshotobject
...@@ -212,6 +226,8 @@ failed: ...@@ -212,6 +226,8 @@ failed:
virHashFree(ret->nodeDevices, (virHashDeallocator) virNodeDeviceFree); virHashFree(ret->nodeDevices, (virHashDeallocator) virNodeDeviceFree);
if (ret->secrets != NULL) if (ret->secrets != NULL)
virHashFree(ret->secrets, virSecretFreeName); virHashFree(ret->secrets, virSecretFreeName);
if (ret->nwfilterPools != NULL)
virHashFree(ret->nwfilterPools, (virHashDeallocator) virNWFilterPoolFreeName);
virMutexDestroy(&ret->lock); virMutexDestroy(&ret->lock);
VIR_FREE(ret); VIR_FREE(ret);
...@@ -245,6 +261,8 @@ virReleaseConnect(virConnectPtr conn) { ...@@ -245,6 +261,8 @@ virReleaseConnect(virConnectPtr conn) {
virHashFree(conn->nodeDevices, (virHashDeallocator) virNodeDeviceFree); virHashFree(conn->nodeDevices, (virHashDeallocator) virNodeDeviceFree);
if (conn->secrets != NULL) if (conn->secrets != NULL)
virHashFree(conn->secrets, virSecretFreeName); virHashFree(conn->secrets, virSecretFreeName);
if (conn->nwfilterPools != NULL)
virHashFree(conn->nwfilterPools, (virHashDeallocator) virNWFilterPoolFreeName);
virResetError(&conn->err); virResetError(&conn->err);
...@@ -292,6 +310,8 @@ virUnrefConnect(virConnectPtr conn) { ...@@ -292,6 +310,8 @@ virUnrefConnect(virConnectPtr conn) {
conn->deviceMonitor->close (conn); conn->deviceMonitor->close (conn);
if (conn->secretDriver) if (conn->secretDriver)
conn->secretDriver->close (conn); conn->secretDriver->close (conn);
if (conn->nwfilterDriver)
conn->nwfilterDriver->close (conn);
if (conn->driver) if (conn->driver)
conn->driver->close (conn); conn->driver->close (conn);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册