Pretty much the only case where we do NOT want to daemonize a container start is lxc-start. So make c->daemonize true by default, and have lxc-start set it to false.
If there are existing API users who rely on daemonize by default, then they will be broken by this. It seems we should do this before beta1 if we're going to do it. Signed-off-by: Serge Hallyn <[email protected]> --- src/lxc/lxc_start.c | 4 ++-- src/lxc/lxccontainer.c | 1 + src/tests/startone.c | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lxc/lxc_start.c b/src/lxc/lxc_start.c index e6ca355..d5379da 100644 --- a/src/lxc/lxc_start.c +++ b/src/lxc/lxc_start.c @@ -325,8 +325,8 @@ int main(int argc, char *argv[]) conf->inherit_ns_fd[i] = fd; } - if (my_args.daemonize) { - c->want_daemonize(c, true); + if (!my_args.daemonize) { + c->want_daemonize(c, false); } if (pid_fp != NULL) { diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index 48fef74..5c2c62a 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -3059,6 +3059,7 @@ struct lxc_container *lxc_container_new(const char *name, const char *configpath lxcapi_destroy(c); lxcapi_clear_config(c); } + c->daemonize = true; // assign the member functions c->is_defined = lxcapi_is_defined; diff --git a/src/tests/startone.c b/src/tests/startone.c index 678f62e..93992c1 100644 --- a/src/tests/startone.c +++ b/src/tests/startone.c @@ -168,6 +168,7 @@ int main(int argc, char *argv[]) fprintf(stderr, "%d: failed to get extra ref to container\n", __LINE__); exit(1); } + c->want_daemonize(false); pid_t pid = fork(); if (pid < 0) { fprintf(stderr, "%d: fork failed\n", __LINE__); -- 1.8.5.2 _______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
