From: Christian Brauner Date: Sun, 7 Oct 2018 09:21:06 +0000 (+0200) Subject: attach: reset signal mask X-Git-Tag: lxc-3.1.0~60^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f157b05636194e74ebbd16f9fa167bbb6488f1f1;p=thirdparty%2Flxc.git 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: 1349e92e4d23 ("console: exit mainloop on SIGTERM") Signed-off-by: Christian Brauner --- diff --git a/src/lxc/attach.c b/src/lxc/attach.c index 689cef709..e46d742c5 100644 --- a/src/lxc/attach.c +++ b/src/lxc/attach.c @@ -1483,6 +1483,15 @@ int lxc_attach(const char *name, const char *lxcpath, } 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); if (ret < 0) ERROR("Failed to exec");