diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-11-12 19:03:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-12 19:03:22 +0100 |
commit | 7d7c8ea9443b501f3f8c7b455d2aadc48f2ebc35 (patch) | |
tree | 78f47bbd3217ea609eff5c1c25990ae109f12ef7 | |
parent | 3ca9940cb95cb263c6bfe5cfee72df232fe46a94 (diff) | |
parent | 83a433391982d5ac28a97723a74f68828a22a05b (diff) | |
download | systemd-7d7c8ea9443b501f3f8c7b455d2aadc48f2ebc35.tar.gz |
Merge pull request #10741 from poettering/signal-check
propeperly handle sd_event_add_signal() errors
-rw-r--r-- | src/hostname/hostnamed.c | 12 | ||||
-rw-r--r-- | src/journal-remote/journal-remote-main.c | 4 | ||||
-rw-r--r-- | src/locale/localed.c | 12 | ||||
-rw-r--r-- | src/timedate/timedated.c | 12 |
4 files changed, 27 insertions, 13 deletions
diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c index d8074e6f5f..a0535070b3 100644 --- a/src/hostname/hostnamed.c +++ b/src/hostname/hostnamed.c @@ -732,12 +732,16 @@ int main(int argc, char *argv[]) { (void) sd_event_set_watchdog(event, true); r = sd_event_add_signal(event, NULL, SIGINT, NULL, NULL); - if (r < 0) - return r; + if (r < 0) { + log_error_errno(r, "Failed to install SIGINT handler: %m"); + goto finish; + } r = sd_event_add_signal(event, NULL, SIGTERM, NULL, NULL); - if (r < 0) - return r; + if (r < 0) { + log_error_errno(r, "Failed to install SIGTERM handler: %m"); + goto finish; + } r = connect_bus(&context, event, &bus); if (r < 0) diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c index 76e7af28bf..930871b13b 100644 --- a/src/journal-remote/journal-remote-main.c +++ b/src/journal-remote/journal-remote-main.c @@ -560,7 +560,9 @@ static int create_remoteserver( if (r < 0) return r; - setup_signals(s); + r = setup_signals(s); + if (r < 0) + return log_error_errno(r, "Failed to set up signals: %m"); n = sd_listen_fds(true); if (n < 0) diff --git a/src/locale/localed.c b/src/locale/localed.c index 1f0c3ac74f..c949fa3831 100644 --- a/src/locale/localed.c +++ b/src/locale/localed.c @@ -751,12 +751,16 @@ int main(int argc, char *argv[]) { (void) sd_event_set_watchdog(event, true); r = sd_event_add_signal(event, NULL, SIGINT, NULL, NULL); - if (r < 0) - return r; + if (r < 0) { + log_error_errno(r, "Failed to install SIGINT handler: %m"); + goto finish; + } r = sd_event_add_signal(event, NULL, SIGTERM, NULL, NULL); - if (r < 0) - return r; + if (r < 0) { + log_error_errno(r, "Failed to install SIGTERM handler: %m"); + goto finish; + } r = connect_bus(&context, event, &bus); if (r < 0) diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c index 8cf5e8d48d..71f2f6f69b 100644 --- a/src/timedate/timedated.c +++ b/src/timedate/timedated.c @@ -987,12 +987,16 @@ int main(int argc, char *argv[]) { (void) sd_event_set_watchdog(event, true); r = sd_event_add_signal(event, NULL, SIGINT, NULL, NULL); - if (r < 0) - return r; + if (r < 0) { + log_error_errno(r, "Failed to install SIGINT handler: %m"); + goto finish; + } r = sd_event_add_signal(event, NULL, SIGTERM, NULL, NULL); - if (r < 0) - return r; + if (r < 0) { + log_error_errno(r, "Failed to install SIGTERM handler: %m"); + goto finish; + } r = connect_bus(&context, event, &bus); if (r < 0) |