From 784d798dac8ac1a763e12d83d6ed94ee9d2e7dca Mon Sep 17 00:00:00 2001 From: Alexandre Pita Date: Wed, 26 Feb 2025 14:38:46 +0000 Subject: [PATCH 1/3] Fix event loop handling for Windows platform in compose_up function Signed-off-by: Alexandre Pita --- podman_compose.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/podman_compose.py b/podman_compose.py index 24e2d41..91bbb5a 100755 --- a/podman_compose.py +++ b/podman_compose.py @@ -2776,9 +2776,11 @@ async def compose_up(compose: PodmanCompose, args): max_service_length = curr_length if curr_length > max_service_length else max_service_length tasks = set() - - loop = asyncio.get_event_loop() - loop.add_signal_handler(signal.SIGINT, lambda: [t.cancel("User exit") for t in tasks]) + if sys.platform == 'win32': + asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) + else: + loop = asyncio.get_event_loop() + loop.add_signal_handler(signal.SIGINT, lambda: [t.cancel("User exit") for t in tasks]) for i, cnt in enumerate(compose.containers): # Add colored service prefix to output by piping output through sed From 37b27fa233eb58f91757ca52c88d27ba633fc47d Mon Sep 17 00:00:00 2001 From: Alexandre Pita Date: Wed, 26 Feb 2025 17:28:59 +0000 Subject: [PATCH 2/3] Refactor event loop handling to simplify logic for Windows platforms Signed-off-by: Alexandre Pita --- podman_compose.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/podman_compose.py b/podman_compose.py index 91bbb5a..ea6eb9b 100755 --- a/podman_compose.py +++ b/podman_compose.py @@ -2776,9 +2776,7 @@ async def compose_up(compose: PodmanCompose, args): max_service_length = curr_length if curr_length > max_service_length else max_service_length tasks = set() - if sys.platform == 'win32': - asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) - else: + if sys.platform != 'win32': loop = asyncio.get_event_loop() loop.add_signal_handler(signal.SIGINT, lambda: [t.cancel("User exit") for t in tasks]) From fd401331e5baa23f4a76e52099cd246bfaf1c3f8 Mon Sep 17 00:00:00 2001 From: Alexandre Pita Date: Thu, 27 Feb 2025 08:55:52 +0000 Subject: [PATCH 3/3] added release note to newsfragment directory Signed-off-by: Alexandre Pita --- newsfragments/windows_not_implemented_error.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/windows_not_implemented_error.bugfix diff --git a/newsfragments/windows_not_implemented_error.bugfix b/newsfragments/windows_not_implemented_error.bugfix new file mode 100644 index 0000000..7700e57 --- /dev/null +++ b/newsfragments/windows_not_implemented_error.bugfix @@ -0,0 +1 @@ +- Fixed NotImplementedError in case script is interrupted on Windows \ No newline at end of file