[lxc-devel] [PATCH RFC] api_start: don't get a container reference for the daemonized case

Serge Hallyn serge.hallyn at ubuntu.com
Sun Jan 19 18:17:42 UTC 2014


In the daemonized case we will fork, so the anonymous container memlock
will not be shared between parent and child.

Please review.

Signed-off-by: Serge Hallyn <serge.hallyn at ubuntu.com>
---
 src/lxc/lxccontainer.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c
index 0bebdff..0e22ccf 100644
--- a/src/lxc/lxccontainer.c
+++ b/src/lxc/lxccontainer.c
@@ -583,15 +583,11 @@ static bool lxcapi_start(struct lxc_container *c, int useinit, char * const argv
 	* while container is running...
 	*/
 	if (daemonize) {
-		if (!lxc_container_get(c))
-			return false;
 		lxc_monitord_spawn(c->config_path);
 
 		pid_t pid = fork();
-		if (pid < 0) {
-			lxc_container_put(c);
+		if (pid < 0)
 			return false;
-		}
 		if (pid != 0)
 			return wait_on_daemonized_start(c, pid);
 
@@ -632,12 +628,10 @@ reboot:
 		goto reboot;
 	}
 
-	if (daemonize) {
-		lxc_container_put(c);
+	if (daemonize)
 		exit (ret == 0 ? true : false);
-	} else {
+	else
 		return (ret == 0 ? true : false);
-	}
 }
 
 /*
-- 
1.8.5.2



More information about the lxc-devel mailing list