[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] qmp: Check for returned data from __json_read i
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-devel] [PATCH] qmp: Check for returned data from __json_read in get_events |
Date: |
Fri, 28 Feb 2014 13:36:19 -0500 |
On Mon, 24 Feb 2014 13:45:01 +0800
Fam Zheng <address@hidden> wrote:
> When QEMU process aborts and socket is closed, qmp client will not
> detect it. When this happens, some qemu-iotests scripts will enter an
> endless loop waiting for qmp events.
>
> It's better we raise an exception in qmp.py to catch this and make the
> test script stop.
>
> Signed-off-by: Fam Zheng <address@hidden>
Applied to the qmp branch, thanks.
> ---
> scripts/qmp/qmp.py | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/qmp/qmp.py b/scripts/qmp/qmp.py
> index 5c97175..20b6ec7 100644
> --- a/scripts/qmp/qmp.py
> +++ b/scripts/qmp/qmp.py
> @@ -171,7 +171,12 @@ class QEMUMonitorProtocol:
> pass
> self.__sock.setblocking(1)
> if not self.__events and wait:
> - self.__json_read(only_event=True)
> + ret = self.__json_read(only_event=True)
> + if ret == None:
> + # We are in blocking mode, if don't get anything, something
> + # went wrong
> + raise QMPConnectError("Error while reading from socket")
> +
> return self.__events
>
> def clear_events(self):