mirror of
https://github.com/kata-containers/kata-containers.git
synced 2026-07-17 11:24:01 +00:00
When containerd wants to terminate a container, it sends a KillRequest with exec_id="", all=false, signal=SIGTERM. Kata-shim translates that to a SignalProcessRequest with exec_id="", signal=SIGTERM Kata agent used to interpret exec_id="" as implying all=true. That was correct for forceful deletion of containers, as it uses a KillRequest with all=true, signal=SIGKILL. However, for graceful termination, we want to only signal the root process of the container (all=false). This changes makes it so that Kata agent interprets exec_id="" && signal=SIGKILL as implying all=true, and uses all=false otherwise. It also fixes an unrelated bug, where Kata agent would signal the root process twice when all=true. Fixes #13152 - sending SIGTERM twice to the container's init process on graceful shutdown of a container. Signed-off-by: Bozhidar Marinov <bozhidar.marinov1@digits.schwarz> Co-authored-by: Markus Rudy <webmaster@burgerdev.de> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>