xemu/python/qemu
John Snow f26bd6ff21 python/aqmp: Fix disconnect during capabilities negotiation
If we receive ConnectionResetError (ECONNRESET) while attempting to
perform capabilities negotiation -- prior to the establishment of the
async reader/writer tasks -- the disconnect function is not aware that
we are in an error pathway.

As a result, when attempting to close the StreamWriter, we'll see the
same ConnectionResetError that caused us to initiate a disconnect in the
first place, which will cause the disconnect task itself to fail, which
emits a CRITICAL logging event.

I still don't know if there's a smarter way to check to see if an
exception received at this point is "the same" exception as the one that
caused the initial disconnect, but for now the problem can be avoided by
improving the error pathway detection in the exit path.

Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Message-id: 20211111143719.2162525-2-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
2021-11-16 14:26:36 -05:00
..
aqmp python/aqmp: Fix disconnect during capabilities negotiation 2021-11-16 14:26:36 -05:00
machine tests/acceptance: rename tests acceptance to tests avocado 2021-11-08 17:00:22 +01:00
qmp tests/acceptance: rename tests acceptance to tests avocado 2021-11-08 17:00:22 +01:00
utils tests/acceptance: rename tests acceptance to tests avocado 2021-11-08 17:00:22 +01:00
README.rst python: add directory structure README.rst files 2021-06-01 16:21:21 -04:00

QEMU Python Namespace
=====================

This directory serves as the root of a `Python PEP 420 implicit
namespace package <https://www.python.org/dev/peps/pep-0420/>`_.

Each directory below is assumed to be an installable Python package that
is available under the ``qemu.<package>`` namespace.