lxc-start: close inherited fds right before exec

Not before we've even forked.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
This commit is contained in:
Serge Hallyn 2014-02-14 23:23:24 +01:00 committed by Stéphane Graber
parent 93c379f09c
commit 1d16785799

View File

@ -676,6 +676,9 @@ static int do_start(void *data)
close(handler->sigfd);
if (lxc_check_inherited(handler->conf, -1))
return -1;
/* after this call, we are in error because this
* ops should not return as it execs */
handler->ops->start(handler, handler->data);
@ -1030,9 +1033,6 @@ int lxc_start(const char *name, char *const argv[], struct lxc_conf *conf,
.argv = argv,
};
if (lxc_check_inherited(conf, -1))
return -1;
conf->need_utmp_watch = 1;
return __lxc_start(name, conf, &start_ops, &start_arg, lxcpath);
}