]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Handle SIGTERM like a keyboard interrupt 2131/head
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 7 Dec 2023 11:51:13 +0000 (12:51 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 7 Dec 2023 17:56:00 +0000 (18:56 +0100)
Let's make sure we do proper cleanup on SIGTERM as well.

mkosi/__main__.py

index df25835437c01a32988a7966950d607cd7d0ea82..b5e885cb2f44b99f2d5c9cae53d559b8511dd983 100644 (file)
@@ -3,7 +3,10 @@
 
 import faulthandler
 import shutil
+import signal
 import sys
+from types import FrameType
+from typing import Optional
 
 from mkosi import run_verb
 from mkosi.config import parse_config
@@ -12,8 +15,14 @@ from mkosi.run import run, uncaught_exception_handler
 from mkosi.util import INVOKING_USER
 
 
+def onsigterm(signal: int, frame: Optional[FrameType]) -> None:
+    raise KeyboardInterrupt()
+
+
 @uncaught_exception_handler(exit=sys.exit)
 def main() -> None:
+    signal.signal(signal.SIGTERM, onsigterm)
+
     log_setup()
     # Ensure that the name and home of the user we are running as are resolved as early as possible.
     INVOKING_USER.init()