From 068307f0ebdd51d143e4fa16aa809fd8ef9a3ce1 Mon Sep 17 00:00:00 2001 From: Mike Salvatore Date: Tue, 23 Nov 2021 13:09:17 -0500 Subject: [PATCH] Agent: Handle window close event on Windows --- monkey/infection_monkey/utils/signal_handler.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/monkey/infection_monkey/utils/signal_handler.py b/monkey/infection_monkey/utils/signal_handler.py index d125ad98d..f15fded3a 100644 --- a/monkey/infection_monkey/utils/signal_handler.py +++ b/monkey/infection_monkey/utils/signal_handler.py @@ -12,7 +12,7 @@ class StopSignalHandler: def __init__(self, master: IMaster): self._master = master - def __call__(self, _, __): + def __call__(self, _, __=None): self._master.terminate() logger.debug("Some kind of interrupt signal was sent to the Monkey Agent") raise PlannedShutdownException("Monkey Agent got an interrupt signal") @@ -24,4 +24,7 @@ def register_signal_handlers(master: IMaster): signal.signal(signal.SIGTERM, stop_signal_handler) if is_windows_os(): + import win32api + signal.signal(signal.SIGBREAK, stop_signal_handler) + win32api.SetConsoleCtrlHandler(stop_signal_handler, True)