From: Christian Brauner Date: Tue, 10 Oct 2017 13:53:11 +0000 (+0200) Subject: init: become session leader X-Git-Tag: lxc-2.0.9~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3ff979b24bc722d76467f2c4791b0da6458d439;p=thirdparty%2Flxc.git init: become session leader Before exec()ing we need to become session leader otherwise some shells will not be able to correctly initialize job control. Signed-off-by: Christian Brauner --- diff --git a/src/lxc/tools/lxc_init.c b/src/lxc/tools/lxc_init.c index cac1e8c02..3aab2397e 100644 --- a/src/lxc/tools/lxc_init.c +++ b/src/lxc/tools/lxc_init.c @@ -77,7 +77,7 @@ static void usage(void) { int main(int argc, char *argv[]) { - pid_t pid; + pid_t pid, sid; int err; char **aargv; sigset_t mask, omask; @@ -189,6 +189,10 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } + sid = setsid(); + if (sid < 0) + DEBUG("Failed to make child session leader"); + NOTICE("About to exec '%s'", aargv[0]); ret = execvp(aargv[0], aargv);