]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
nspawn: tweak logging/notifications when processing exit requests
authorLennart Poettering <lennart@poettering.net>
Wed, 9 Jul 2025 07:36:25 +0000 (09:36 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 11 Jul 2025 16:15:12 +0000 (18:15 +0200)
src/nspawn/nspawn.c

index 8f18d2fc60ef8f414937b7f7d049073e978bdf3a..e21d0ca29b7117a303dd81705c31105e6e231932 100644 (file)
@@ -40,6 +40,7 @@
 #include "common-signal.h"
 #include "copy.h"
 #include "cpu-set-util.h"
+#include "daemon-util.h"
 #include "dev-setup.h"
 #include "devnum-util.h"
 #include "discover-image.h"
@@ -2955,13 +2956,19 @@ static int wait_for_container(PidRef *pid, ContainerStatus *container) {
 static int on_orderly_shutdown(sd_event_source *s, const struct signalfd_siginfo *si, void *userdata) {
         PidRef *pid = ASSERT_PTR(userdata);
 
+        assert(si);
+
         if (pidref_is_set(pid))
                 if (pidref_kill(pid, arg_kill_signal) >= 0) {
-                        log_info("Trying to halt container. Send SIGTERM again to trigger immediate termination.");
+                        log_info("Trying to halt container by sending %s to container PID 1. Send SIGTERM again to trigger immediate termination.",
+                                 signal_to_string(si->ssi_signo));
                         sd_event_source_set_userdata(s, NULL);
+                        sd_notify(/* unset_environment= */ false, NOTIFY_STOPPING_MESSAGE);
                         return 0;
                 }
 
+        log_debug("Got %s, exiting.", signal_to_string(si->ssi_signo));
+
         sd_event_exit(sd_event_source_get_event(s), 0);
         return 0;
 }