[libvirt] [PATCH 01/10] qemu: agent: unset error flag in EOF handler

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Tue Oct 4 06:56:05 UTC 2016


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




More information about the libvir-list mailing list