On Thu, Aug 5, 2021 at 10:58 PM John Snow wrote: > > > 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. > Thanks. I'll remove this in the upcoming v4