diff options
-rw-r--r-- | kvmd/aioproc.py | 8 | ||||
-rw-r--r-- | kvmd/plugins/hid/_mcu/__init__.py | 2 | ||||
-rw-r--r-- | kvmd/plugins/hid/bt/__init__.py | 2 | ||||
-rw-r--r-- | kvmd/plugins/hid/otg/device.py | 2 | ||||
-rw-r--r-- | kvmd/plugins/ugpio/ezcoo.py | 2 | ||||
-rw-r--r-- | testenv/tests/plugins/auth/test_pam.py | 5 |
6 files changed, 8 insertions, 13 deletions
diff --git a/kvmd/aioproc.py b/kvmd/aioproc.py index ecf6230e..b4b84ea4 100644 --- a/kvmd/aioproc.py +++ b/kvmd/aioproc.py @@ -20,9 +20,9 @@ # ========================================================================== # +import os import asyncio import asyncio.subprocess -import signal import logging from typing import Tuple @@ -37,7 +37,7 @@ async def run_process(cmd: List[str], err_to_null: bool=False) -> asyncio.subpro *cmd, stdout=asyncio.subprocess.PIPE, stderr=(asyncio.subprocess.DEVNULL if err_to_null else asyncio.subprocess.STDOUT), - preexec_fn=ignore_sigint, + preexec_fn=os.setpgrp, )) @@ -69,9 +69,5 @@ async def log_stdout_infinite(proc: asyncio.subprocess.Process, logger: logging. raise RuntimeError("asyncio process: too many empty lines") -def ignore_sigint() -> None: - signal.signal(signal.SIGINT, signal.SIG_IGN) - - def rename_process(suffix: str, prefix: str="kvmd") -> None: setproctitle.setproctitle(f"{prefix}/{suffix}: {setproctitle.getproctitle()}") diff --git a/kvmd/plugins/hid/_mcu/__init__.py b/kvmd/plugins/hid/_mcu/__init__.py index 4d3df434..e3234880 100644 --- a/kvmd/plugins/hid/_mcu/__init__.py +++ b/kvmd/plugins/hid/_mcu/__init__.py @@ -273,7 +273,7 @@ class BaseMcuHid(BaseHid, multiprocessing.Process): # pylint: disable=too-many- logger = get_logger(0) logger.info("Started HID pid=%d", os.getpid()) - aioproc.ignore_sigint() + os.setpgrp() aioproc.rename_process("hid") while not self.__stop_event.is_set(): diff --git a/kvmd/plugins/hid/bt/__init__.py b/kvmd/plugins/hid/bt/__init__.py index 48242bee..25c3b823 100644 --- a/kvmd/plugins/hid/bt/__init__.py +++ b/kvmd/plugins/hid/bt/__init__.py @@ -197,7 +197,7 @@ class Plugin(BaseHid): # pylint: disable=too-many-instance-attributes logger = get_logger(0) logger.info("Started HID pid=%d", os.getpid()) - aioproc.ignore_sigint() + os.setpgrp() aioproc.rename_process("hid") while not self.__stop_event.is_set(): diff --git a/kvmd/plugins/hid/otg/device.py b/kvmd/plugins/hid/otg/device.py index 7d25597b..8845d9e1 100644 --- a/kvmd/plugins/hid/otg/device.py +++ b/kvmd/plugins/hid/otg/device.py @@ -81,7 +81,7 @@ class BaseDeviceProcess(multiprocessing.Process): # pylint: disable=too-many-in logger = get_logger(0) logger.info("Started HID-%s pid=%d", self.__name, os.getpid()) - aioproc.ignore_sigint() + os.setpgrp() aioproc.rename_process(f"hid-{self.__name}") while not self.__stop_event.is_set(): diff --git a/kvmd/plugins/ugpio/ezcoo.py b/kvmd/plugins/ugpio/ezcoo.py index bdc65d36..5c6c0e8e 100644 --- a/kvmd/plugins/ugpio/ezcoo.py +++ b/kvmd/plugins/ugpio/ezcoo.py @@ -133,7 +133,7 @@ class Plugin(BaseUserGpioDriver): # pylint: disable=too-many-instance-attribute logger = get_logger(0) logger.info("Started %s pid=%d", self, os.getpid()) - aioproc.ignore_sigint() + os.setpgrp() aioproc.rename_process(f"gpio-ezcoo-{self._instance_name}") while not self.__stop_event.is_set(): diff --git a/testenv/tests/plugins/auth/test_pam.py b/testenv/tests/plugins/auth/test_pam.py index a2cc32fa..49be05a2 100644 --- a/testenv/tests/plugins/auth/test_pam.py +++ b/testenv/tests/plugins/auth/test_pam.py @@ -20,6 +20,7 @@ # ========================================================================== # +import os import asyncio import pwd @@ -29,8 +30,6 @@ from typing import Optional import pytest -from kvmd import aioproc - from . import get_configured_auth_service @@ -45,7 +44,7 @@ async def _run_process(cmd: str, input: Optional[str]=None) -> None: # pylint: proc = await asyncio.create_subprocess_exec( *cmd.split(" "), stdin=(asyncio.subprocess.PIPE if input is not None else None), - preexec_fn=aioproc.ignore_sigint, + preexec_fn=os.setpgrp, ) await proc.communicate(input.encode() if input is not None else None) assert proc.returncode == 0 |