d911accf0a
All callers in the tree *already* clear the events after a call to get_events(). Do it automatically instead and update callsites to remove the manual clear call. These semantics are quite a bit easier to emulate with async QMP, and nobody appears to be abusing some emergent properties of what happens if you decide not to clear them, so let's dial down to the dumber, simpler thing. Specifically: callers of clear() right after a call to get_events() are more likely expressing their desire to not see any events they just retrieved, whereas callers of clear_events() not in relation to a recent call to pull_event/get_events are likely expressing their desire to simply drop *all* pending events straight onto the floor. In the sync world, this is safe enough; in the async world it's nearly impossible to promise that nothing happens between getting and clearing the events. Making the retrieval also clear the queue is vastly simpler. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Hanna Reitz <hreitz@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 20210923004938.3999963-9-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com> |
||
---|---|---|
.. | ||
__init__.py | ||
console_socket.py | ||
machine.py | ||
py.typed | ||
qtest.py | ||
README.rst |
qemu.machine package ==================== This package provides core utilities used for testing and debugging QEMU. It is used by the iotests, vm tests, acceptance tests, and several other utilities in the ./scripts directory. It is not a fully-fledged SDK and it is subject to change at any time. See the documentation in ``__init__.py`` for more information.