From 76eff75a8c2c483c506878e1344de5f10ddfe09c Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 16 Feb 2022 11:28:17 -0500 Subject: [PATCH] reinstate pre-existing signal configuration on windows for services --- chia/server/start_service.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/chia/server/start_service.py b/chia/server/start_service.py index 68cfb5d7238a..0dc03a17dd92 100644 --- a/chia/server/start_service.py +++ b/chia/server/start_service.py @@ -182,18 +182,21 @@ def _enable_signals(self) -> None: global main_pid main_pid = os.getpid() - loop = asyncio.get_running_loop() - loop.add_signal_handler( - signal.SIGINT, - functools.partial(self._accept_signal, signal_number=signal.SIGINT), - ) - loop.add_signal_handler( - signal.SIGTERM, - functools.partial(self._accept_signal, signal_number=signal.SIGTERM), - ) if platform == "win32" or platform == "cygwin": # pylint: disable=E1101 signal.signal(signal.SIGBREAK, self._accept_signal) # type: ignore + signal.signal(signal.SIGINT, self._accept_signal) + signal.signal(signal.SIGTERM, self._accept_signal) + else: + loop = asyncio.get_running_loop() + loop.add_signal_handler( + signal.SIGINT, + functools.partial(self._accept_signal, signal_number=signal.SIGINT), + ) + loop.add_signal_handler( + signal.SIGTERM, + functools.partial(self._accept_signal, signal_number=signal.SIGTERM), + ) def _accept_signal(self, signal_number: int, stack_frame=None): self._log.info(f"got signal {signal_number}")