]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
process management: GC was not stopped during graceful shutdown
authorVasek Sraier <git@vakabus.cz>
Tue, 11 Jan 2022 13:02:40 +0000 (14:02 +0100)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 8 Apr 2022 14:17:53 +0000 (16:17 +0200)
fixes #45

manager/knot_resolver_manager/kres_manager.py
manager/knot_resolver_manager/kresd_controller/systemd/__init__.py

index c4205afc6d19e3689e9595ddcf25c22766823e20..1cc218b026e14ec3a152c77e469128a284e4e45e 100644 (file)
@@ -160,6 +160,8 @@ class KresManager:
 
         async with self._manager_lock:
             await self._ensure_number_of_children(KresConfig(), 0)
+            if self._gc is not None:
+                await self._stop_gc()
             await self._controller.shutdown_controller()
 
     async def _instability_handler(self) -> None:
index 8c6bfd33ac097d8116fcaef1a6bd266c675e49a7..64d5adef66972e746090bfc600732bbf5ec142eb 100644 (file)
@@ -40,13 +40,13 @@ class SystemdSubprocess(Subprocess):
     @property
     def systemd_id(self) -> str:
         if self._type is SubprocessType.GC:
-            return "kres-cache-gc.service"
+            return systemd.GC_SERVICE_NAME
         else:
             return f"kresd_{self._id}.service"
 
     @staticmethod
     def is_unit_name_ours(unit_name: str) -> bool:
-        is_ours = unit_name == "kres-cache-gc.service"
+        is_ours = unit_name == systemd.GC_SERVICE_NAME
         is_ours |= unit_name.startswith("kresd_") and unit_name.endswith(".service")
         return is_ours