On Fri, Jul 30, 2021 at 4:19 PM G S Niteesh Babu wrote: > Before this patch the wait_closed work-around for python 3.6 > fails during disconnect. > This is a temproray work around for which might be fixed in the > future or will be completely removed when the minimum python > version is raised to 3.7. > > This patch was originally written by John Snow > > Signed-off-by: G S Niteesh Babu > --- > python/qemu/aqmp/util.py | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/python/qemu/aqmp/util.py b/python/qemu/aqmp/util.py > index de0df44cbd..eaa5fc7d5f 100644 > --- a/python/qemu/aqmp/util.py > +++ b/python/qemu/aqmp/util.py > @@ -134,7 +134,17 @@ def is_closing(writer: asyncio.StreamWriter) -> bool: > > while not transport.is_closing(): > await asyncio.sleep(0) > - await flush(writer) > + > + # This is an ugly workaround, but it's the best I can come up with. > + sock = transport.get_extra_info('socket') > + > + if sock is None: > + # Our transport doesn't have a socket? ... > + # Nothing we can reasonably do. > + return > + > + while sock.fileno() != -1: > + await asyncio.sleep(0) > > > def asyncio_run(coro: Coroutine[Any, Any, T], *, debug: bool = False) -> > T: > -- > 2.17.1 > > Sorry for the trouble. This is now included in the v3 version of my series and can be dropped. I hope.