From 1f55253fd70ca2c58960d29bec56e2990c33f913 Mon Sep 17 00:00:00 2001 From: Romuald Juchnowicz-Bierbasz Date: Tue, 3 Dec 2019 14:04:19 +0100 Subject: [PATCH] Wait until writer is closed --- src/galaxy/api/plugin.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/galaxy/api/plugin.py b/src/galaxy/api/plugin.py index f42e410..3a7fd8a 100644 --- a/src/galaxy/api/plugin.py +++ b/src/galaxy/api/plugin.py @@ -1021,10 +1021,15 @@ def create_and_run_plugin(plugin_class, argv): async def coroutine(): reader, writer = await asyncio.open_connection("127.0.0.1", port) - extra_info = writer.get_extra_info("sockname") - logger.info("Using local address: %s:%u", *extra_info) - async with plugin_class(reader, writer, token) as plugin: - await plugin.run() + try: + extra_info = writer.get_extra_info("sockname") + logger.info("Using local address: %s:%u", *extra_info) + async with plugin_class(reader, writer, token) as plugin: + await plugin.run() + finally: + writer.close() + await writer.wait_closed() + try: if sys.platform == "win32":