]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
hostname: set sd_event_add_signal() 9661/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 20 Jul 2018 06:00:02 +0000 (15:00 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 20 Jul 2018 06:00:02 +0000 (15:00 +0900)
src/hostname/hostnamed.c

index ee51002ece35e3fe475cb879a7339663ec13fd11..b98f962ad298f0c2b157ba6f5ec06840bd9abf80 100644 (file)
@@ -15,6 +15,7 @@
 #include "parse-util.h"
 #include "path-util.h"
 #include "selinux-util.h"
+#include "signal-util.h"
 #include "strv.h"
 #include "user-util.h"
 #include "util.h"
@@ -670,13 +671,23 @@ int main(int argc, char *argv[]) {
                 goto finish;
         }
 
+        assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGTERM, SIGINT, -1) >= 0);
+
         r = sd_event_default(&event);
         if (r < 0) {
                 log_error_errno(r, "Failed to allocate event loop: %m");
                 goto finish;
         }
 
-        sd_event_set_watchdog(event, true);
+        (void) sd_event_set_watchdog(event, true);
+
+        r = sd_event_add_signal(event, NULL, SIGINT, NULL, NULL);
+        if (r < 0)
+                return r;
+
+        r = sd_event_add_signal(event, NULL, SIGTERM, NULL, NULL);
+        if (r < 0)
+                return r;
 
         r = connect_bus(&context, event, &bus);
         if (r < 0)