]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_process: Move monitor code to qemuProcessQMPConnectMonitor
authorChris Venteicher <cventeic@redhat.com>
Sun, 13 Jan 2019 00:50:11 +0000 (18:50 -0600)
committerJiri Denemark <jdenemar@redhat.com>
Tue, 19 Feb 2019 17:43:56 +0000 (18:43 +0100)
All code related to QEMU monitor is moved from qemuProcessQMPNew and
qemuProcessQMPInit into qemuProcessQMPConnectMonitor.

Signed-off-by: Chris Venteicher <cventeic@redhat.com>
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_process.c

index 19bc804d1820b6576144921b9f785f2ed9be8fd9..85079c8c1547898cc3120b6364194165eb234b2a 100644 (file)
@@ -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;
 }