commit df5b490ea100f19173d8e116a30b6a41d7c4bb1d
parent 1e551c63c085df48569c273bf89b5051c6877bde
Author: Nihal Jere <nihal@nihaljere.xyz>
Date: Mon, 9 Aug 2021 19:56:12 -0500
launch: handle sigterm
Diffstat:
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git a/launch/launch.c b/launch/launch.c
@@ -408,6 +408,8 @@ run(int fd) {
wait(&status);
cleanup();
exit(WEXITSTATUS(status));
+ case SIGTERM:
+ kill(0, SIGTERM);
case SIGUSR1:
deactivate();
ioctl(tty_fd, VT_RELDISP, 1);
@@ -458,6 +460,8 @@ main(int argc, char *argv[])
if (pipe2(sigfd, O_CLOEXEC) == -1)
die("pipe:");
+ if (sigaction(SIGTERM, &action, NULL) == -1)
+ die("sigaction SIGCHLD:");
if (sigaction(SIGCHLD, &action, NULL) == -1)
die("sigaction SIGCHLD:");
if (sigaction(SIGUSR1, &action, NULL) == -1)
@@ -466,6 +470,7 @@ main(int argc, char *argv[])
die("sigaction SIGUSR2:");
sigfillset(&set);
+ sigdelset(&set, SIGTERM);
sigdelset(&set, SIGCHLD);
sigdelset(&set, SIGUSR1);
sigdelset(&set, SIGUSR2);