From f157b05636194e74ebbd16f9fa167bbb6488f1f1 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Sun, 7 Oct 2018 11:21:06 +0200 Subject: [PATCH] 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 --- src/lxc/attach.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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");