]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
timedate: set sd_event_add_signal()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 20 Jul 2018 05:59:23 +0000 (14:59 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 20 Jul 2018 05:59:23 +0000 (14:59 +0900)
src/timedate/timedated.c

index ad662fb1cf2a78353744d0fe1c793f5dff47750b..4beded5de015dbf8a51ec7ea42782113b9183eb5 100644 (file)
@@ -20,6 +20,7 @@
 #include "list.h"
 #include "path-util.h"
 #include "selinux-util.h"
+#include "signal-util.h"
 #include "string-util.h"
 #include "strv.h"
 #include "unit-def.h"
@@ -909,13 +910,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)