Patch 1 fixes the bug I dealt with.
Patches 2-3 is a somewhat protection from similar bugs.
Patches 5-6 drop error flag from the agent altogether, so
now there are less places for bugs to lurk.
Rest patches cleanup loop function.
I think 1-3 can be dropped if 6 is approved.
It is just 6 can be considered controversial.
Nikolay Shirokovskiy (10):
qemu: agent: unset error flag in EOF handler
qemu: agent: dont set error after agent cleanup
qemu: agent: clear error flag upon init
qemu: agent: handle agent connection errors in one place
qemu: agent: straigten up failed agent start case
qemu: agent: drop agent error flag (6)
qemu: agent: simplify io loop
qemu: agent: exit early if error is already set
qemu: agent: fix loop error messages
qemu: agent: drop redundant referencing in loop
src/qemu/qemu_agent.c | 183 ++++++++++++++++++-------------------------
src/qemu/qemu_agent.h | 2 -
src/qemu/qemu_domain.c | 41 +++++-----
src/qemu/qemu_domain.h | 1 -
src/qemu/qemu_driver.c | 9 +--
src/qemu/qemu_migration.c | 13 +--
src/qemu/qemu_process.c | 90 ++++-----------------
tests/qemumonitortestutils.c | 1 -
8 files changed, 119 insertions(+), 221 deletions(-)
--
1.8.3.1