Unverified Commit ad900526 by Tycho Andersen Committed by Christian Brauner

monitor: send SIGTERM to the container when SIGHUP is received

For the ->execute() case, we want to make sure the application dies when SIGHUP is received. The next patch will ignore SIGHUP in the lxc monitor, because tasks inside the container send SIGHUP to init to have it reload its config sometimes, and we don't want to do that with init.lxc, since it might actually kill the container if it forwards SIGHUP to the child and the child can't handle it. Signed-off-by: 's avatarTycho Andersen <tycho@tycho.ws>
parent 3ba824d2
...@@ -336,6 +336,12 @@ static int signal_handler(int fd, uint32_t events, void *data, ...@@ -336,6 +336,12 @@ static int signal_handler(int fd, uint32_t events, void *data,
} }
} }
if (siginfo.ssi_signo == SIGHUP) {
kill(hdlr->pid, SIGTERM);
INFO("Killing %d since terminal hung up", hdlr->pid);
return hdlr->init_died ? LXC_MAINLOOP_CLOSE : 0;
}
/* More robustness, protect ourself from a SIGCHLD sent /* More robustness, protect ourself from a SIGCHLD sent
* by a process different from the container init. * by a process different from the container init.
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment