提交 527da4ce 编写于 作者: M Marc Hartmayer 提交者: Ján Tomko

qemu: Use refcounting for priv->monConfig

Use refcounting for priv->monConfig instead of asymmetric freeing.
Signed-off-by: NMarc Hartmayer <mhartmay@linux.ibm.com>
Reviewed-by: NBoris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
Signed-off-by: NJán Tomko <jtomko@redhat.com>
上级 27a9ebf2
......@@ -17026,21 +17026,18 @@ static virDomainPtr qemuDomainQemuAttach(virConnectPtr conn,
if (qemuProcessAttach(conn, driver, vm, pid,
pidfile, monConfig, monJSON) < 0) {
monConfig = NULL;
qemuDomainRemoveInactive(driver, vm);
qemuDomainObjEndJob(driver, vm);
goto cleanup;
}
monConfig = NULL;
dom = virGetDomain(conn, vm->def->name, vm->def->uuid, vm->def->id);
qemuDomainObjEndJob(driver, vm);
cleanup:
virDomainDefFree(def);
virDomainChrSourceDefFree(monConfig);
virObjectUnref(monConfig);
virDomainObjEndAPI(&vm);
VIR_FREE(pidfile);
virObjectUnref(caps);
......
......@@ -7528,8 +7528,7 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
goto error;
VIR_DEBUG("Preparing monitor state");
priv->monConfig = monConfig;
monConfig = NULL;
priv->monConfig = virObjectRef(monConfig);
priv->monJSON = monJSON;
/* Attaching to running QEMU so we need to detect whether it was started
......@@ -7648,7 +7647,8 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
VIR_FREE(sec_managers);
if (seclabelgen)
virSecurityLabelDefFree(seclabeldef);
virDomainChrSourceDefFree(monConfig);
virObjectUnref(priv->monConfig);
priv->monConfig = NULL;
virObjectUnref(cfg);
virObjectUnref(caps);
return -1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册