attach: reset signal mask

Since we introduced clean exit from the mainloop when SIGTERM is sent we changed the signal mask of the parent process but we never reset the signal mask for the actual attached process. Closes #399. Fixes: 1349e92e ("console: exit mainloop on SIGTERM") Signed-off-by: 's avatarChristian Brauner <christian.brauner@ubuntu.com>
parent 1141d9fe
...@@ -1483,6 +1483,15 @@ int lxc_attach(const char *name, const char *lxcpath, ...@@ -1483,6 +1483,15 @@ int lxc_attach(const char *name, const char *lxcpath,
} }
if (pid == 0) { if (pid == 0) {
if (options->attach_flags & LXC_ATTACH_TERMINAL) {
ret = pthread_sigmask(SIG_SETMASK,
&terminal.tty_state->oldmask, NULL);
if (ret < 0) {
SYSERROR("Failed to reset signal mask");
_exit(EXIT_FAILURE);
}
}
ret = attach_child_main(&payload); ret = attach_child_main(&payload);
if (ret < 0) if (ret < 0)
ERROR("Failed to exec"); ERROR("Failed to exec");
......
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