static pid_t pid;
- // Set up signal handlers to forward SIGHUP, SIGINT, SIGQUIT, SIGTERM, and
- // SIGALRM to child
+ // Set up signal handlers to forward SIGTERM to child
+ // Assume that all other signals are sent to the entire process group
struct sigaction action = {};
action.sa_flags = SA_SIGINFO | SA_RESTART,
action.sa_sigaction = [](int signal, siginfo_t*, void*) {
};
int ret = 0;
- if (!ret) ret = sigaction(SIGHUP, &action, NULL);
- if (!ret) ret = sigaction(SIGINT, &action, NULL);
- if (!ret) ret = sigaction(SIGQUIT, &action, NULL);
if (!ret) ret = sigaction(SIGTERM, &action, NULL);
- if (!ret) ret = sigaction(SIGALRM, &action, NULL);
if (ret < 0) {
error(errno, errno, "sigaction failed");
}