From: Chris Venteicher Date: Sun, 13 Jan 2019 00:50:11 +0000 (-0600) Subject: qemu_process: Move monitor code to qemuProcessQMPConnectMonitor X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=126f77b55fb1e1d64180b8ad733c0d382b490f0d;p=libvirt.git qemu_process: Move monitor code to qemuProcessQMPConnectMonitor All code related to QEMU monitor is moved from qemuProcessQMPNew and qemuProcessQMPInit into qemuProcessQMPConnectMonitor. Signed-off-by: Chris Venteicher Signed-off-by: Jiri Denemark Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 19bc804d18..85079c8c15 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -8379,10 +8379,6 @@ qemuProcessQMPNew(const char *binary, virPidFileForceCleanupPath(proc->pidfile); - proc->config.type = VIR_DOMAIN_CHR_TYPE_UNIX; - proc->config.data.nix.path = proc->monpath; - proc->config.data.nix.listen = false; - return proc; error: @@ -8407,7 +8403,6 @@ qemuProcessQMPInit(qemuProcessQMPPtr proc) static int qemuProcessQMPLaunch(qemuProcessQMPPtr proc) { - virDomainXMLOptionPtr xmlopt = NULL; const char *machine; int status = 0; int ret = -1; @@ -8470,25 +8465,9 @@ qemuProcessQMPLaunch(qemuProcessQMPPtr proc) goto cleanup; } - if (!(xmlopt = virDomainXMLOptionNew(NULL, NULL, NULL, NULL, NULL)) || - !(proc->vm = virDomainObjNew(xmlopt))) - goto cleanup; - - proc->vm->pid = proc->pid; - - if (!(proc->mon = qemuMonitorOpen(proc->vm, &proc->config, true, true, - 0, &callbacks, NULL))) - goto cleanup; - - virObjectLock(proc->mon); - ret = 0; cleanup: - if (!proc->mon) - qemuProcessQMPStop(proc); - virObjectUnref(xmlopt); - return ret; } @@ -8496,13 +8475,32 @@ qemuProcessQMPLaunch(qemuProcessQMPPtr proc) static int qemuProcessQMPConnectMonitor(qemuProcessQMPPtr proc) { + virDomainXMLOptionPtr xmlopt = NULL; int ret = -1; VIR_DEBUG("proc=%p, emulator=%s, proc->pid=%lld", proc, proc->binary, (long long)proc->pid); + proc->config.type = VIR_DOMAIN_CHR_TYPE_UNIX; + proc->config.data.nix.path = proc->monpath; + proc->config.data.nix.listen = false; + + if (!(xmlopt = virDomainXMLOptionNew(NULL, NULL, NULL, NULL, NULL)) || + !(proc->vm = virDomainObjNew(xmlopt))) + goto cleanup; + + proc->vm->pid = proc->pid; + + if (!(proc->mon = qemuMonitorOpen(proc->vm, &proc->config, true, true, + 0, &callbacks, NULL))) + goto cleanup; + + virObjectLock(proc->mon); + ret = 0; + cleanup: + virObjectUnref(xmlopt); return ret; }