Usually on domain shutdown event comes first from qemu
and the flag is unset in processSerialChangedEvent. However
there is a race between this function and qemuProcessHandleAgentEOF
because the former is executed in a thread pool and the latter
executed synchronously. qemuProcessHandleAgentEOF do not unset
the flag thus if it was triggered before it remains set after domain
shutdown/start and thus qemu agent becomes unavailable.
---
src/qemu/qemu_process.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 31c8453..a581f96 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -151,6 +151,7 @@ qemuProcessHandleAgentEOF(qemuAgentPtr agent,
qemuAgentClose(agent);
priv->agent = NULL;
+ priv->agentError = false;
virObjectUnlock(vm);
return;
--
1.8.3.1