On 11.05.2012 21:19, Luiz Capitulino wrote: > The main motivation for this series is fixing two possible race conditions > in the guest-suspend-* API due to the complexity that arose from the way > we handle terminated children processes today. Full details in the first > patch. > > This series applies on top of my two other qemu-ga series submitted > previously: > > http://lists.gnu.org/archive/html/qemu-devel/2012-05/msg00999.html > > http://lists.gnu.org/archive/html/qemu-devel/2012-05/msg01507.html > > qapi-schema-guest.json | 56 ++++++++++------ > qapi/qmp-core.h | 10 ++- > qapi/qmp-dispatch.c | 8 ++- > qapi/qmp-registry.c | 4 +- > qemu-ga.c | 40 ++++++------ > qga/commands-posix.c | 162 > ++++++++++++++++++---------------------------- > qga/guest-agent-core.h | 4 ++ > scripts/qapi-commands.py | 14 +++- > 8 files changed, 154 insertions(+), 144 deletions(-) >
Okay, this is definitely an enhancement and fix of bogus implementation. One thing that I'd like to ask is - how can user distinguish between these implementations. I am asking basically from libvirt POV. Because if I assume I am dealing with the previous implementation and thus waiting for the {'return':{}} before I can return form an API, but the GA actually uses the new implementation I will block endlessly. Thanks, Michal