On Sun, Nov 11, 2018 at 13:59:14 -0600, Chris Venteicher wrote:
Follow the convention established in qemu_process of
1) alloc process structure
2) start process
3) use process
4) stop process
5) free process data structure
The process data structure persists after the process activation fails
or the process dies or is killed so stderr strings can be retrieved
until the process data structure is freed.
Signed-off-by: Chris Venteicher <cventeic(a)redhat.com>
---
src/qemu/qemu_capabilities.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 73ec8e5c6e..082874082b 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -4251,6 +4251,7 @@ virQEMUCapsInitQMP(virQEMUCapsPtr qemuCaps,
ret = 0;
cleanup:
+ qemuProcessStopQmp(proc);
Doing this here would just crash the daemon if proc == NULL. Also
qemuProcessFree will call the same function again, which will cause a
lot of issues. For example, proc->vm will be unlocked and unreferenced
twice.
That said, you need to squash some code from the following patches to
this one to make sure it doesn't cause any functional change.
qemuProcessFree(proc);
return ret;
Jirka