If the timeout is 0, we can get None back. Handle this explicitly. Signed-off-by: John Snow <js...@redhat.com> --- python/qemu/lib/machine.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/python/qemu/lib/machine.py b/python/qemu/lib/machine.py index 8548c7c32d..61ee3a0e81 100644 --- a/python/qemu/lib/machine.py +++ b/python/qemu/lib/machine.py @@ -32,7 +32,7 @@ from types import TracebackType from . import qmp -from .qmp import SocketAddrT +from .qmp import SocketAddrT, QMPMessage LOG = logging.getLogger(__name__) @@ -519,6 +519,8 @@ def _match(event): return True return False + event: Optional[QMPMessage] + # Search cached events for event in self._events: if _match(event): @@ -528,6 +530,8 @@ def _match(event): # Poll for new events while True: event = self._qmp.pull_event(wait=timeout) + if event is None: + break if _match(event): return event self._events.append(event) -- 2.21.1