diff options
author | David Oberhollenzer <goliath@infraroot.at> | 2020-03-31 13:09:04 +0200 |
---|---|---|
committer | David Oberhollenzer <goliath@infraroot.at> | 2020-03-31 13:09:04 +0200 |
commit | 9f9807d4d3e0ecabc9bb67658d58644d714a9fd7 (patch) | |
tree | 0261dc3b87584006d98472408e0527c2eeda8c5f /initd/signal_linux.c | |
parent | 0d985a7430299aba28e136d9558497ae02c8085e (diff) |
cleanup: initd: simplify and merge linux specific code into main.c
Targetting anything else than Linux isn't really relevant. All
other systems ($BSD and other Unices) are a closed ecosystem
where kernel & userspace are developed together. They don't need
something like a third party init system, so compatibillity can
be largely ignored.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
Diffstat (limited to 'initd/signal_linux.c')
-rw-r--r-- | initd/signal_linux.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/initd/signal_linux.c b/initd/signal_linux.c deleted file mode 100644 index b19d715..0000000 --- a/initd/signal_linux.c +++ /dev/null @@ -1,42 +0,0 @@ -/* SPDX-License-Identifier: ISC */ -#include <stdio.h> - -#include "init.h" - -int sigsetup(void) -{ - sigset_t mask; - int sfd; - - sigfillset(&mask); - if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1) { - perror("sigprocmask"); - return -1; - } - - sigemptyset(&mask); - sigaddset(&mask, SIGCHLD); - sigaddset(&mask, SIGINT); - sigaddset(&mask, SIGTERM); - sigaddset(&mask, SIGUSR1); - sigaddset(&mask, SIGHUP); - - sfd = signalfd(-1, &mask, SFD_CLOEXEC); - if (sfd == -1) { - perror("signalfd"); - return -1; - } - - if (reboot(LINUX_REBOOT_CMD_CAD_OFF)) - perror("cannot disable CTRL+ALT+DEL"); - - return sfd; -} - -void sigreset(void) -{ - sigset_t mask; - - sigemptyset(&mask); - sigprocmask(SIG_SETMASK, &mask, NULL); -} |