From 1f76453a74f555e30384591567d87b5b4dac7e21 Mon Sep 17 00:00:00 2001 From: Serge Hallyn Date: Fri, 9 Jan 2015 16:33:42 +0000 Subject: [PATCH] set close-all-fds by default MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When containers request to be daemonized, close-all-fd is set to true. But when we switched ot daemonize-by-default we didn't set close-all-fd by default. Fix that. In order to do that we have to always have a lxc_conf object. As a consequence, after this patch we can drop a bunch of checks for c->lxc_conf existing. We should consider removing those. This patch does not do that. This should close https://github.com/lxc/lxc/issues/354 Signed-off-by: Serge Hallyn Acked-by: Stéphane Graber --- src/lxc/lxccontainer.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index 406cead15..5bb6152c1 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -457,6 +457,14 @@ static bool lxcapi_load_config(struct lxc_container *c, const char *alt_file) return ret; } +static void do_set_daemonize(struct lxc_container *c, bool state) +{ + c->daemonize = state; + /* daemonize implies close_all_fds so set it */ + if (state) + c->lxc_conf->close_all_fds = 1; +} + static bool lxcapi_want_daemonize(struct lxc_container *c, bool state) { if (!c || !c->lxc_conf) @@ -465,10 +473,7 @@ static bool lxcapi_want_daemonize(struct lxc_container *c, bool state) ERROR("Error getting mem lock"); return false; } - c->daemonize = state; - /* daemonize implies close_all_fds so set it */ - if (state == 1) - c->lxc_conf->close_all_fds = 1; + do_set_daemonize(c, state); container_mem_unlock(c); return true; } @@ -4098,7 +4103,9 @@ struct lxc_container *lxc_container_new(const char *name, const char *configpath container_destroy(c); lxcapi_clear_config(c); } - c->daemonize = true; + if (!c->lxc_conf) + c->lxc_conf = lxc_conf_init(); + do_set_daemonize(c, true); c->pidfile = NULL; // assign the member functions -- 2.39.5