]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
start: don't return false when the container's init exits nonzero
authorTycho Andersen <tycho@tycho.ws>
Fri, 19 Jan 2018 03:29:05 +0000 (03:29 +0000)
committerTycho Andersen <tycho@tycho.ws>
Fri, 19 Jan 2018 03:44:24 +0000 (03:44 +0000)
This seems slightly counter-intuitive, but IMO it's what we want.
Basically, ->start() should succeed if the container is spawned correctly
(similar to how golang's exec.Cmd.Start() returns nil if the thing spawns
correctly), and users can check error_num (i.e. golang's exec.Cmd.Wait())
to see how it exited.

This preserves previous behavior, which basically was that start was always
successful if the thing actually launched. Since we never kept track of
exit codes, this would always succeed too. Now that we do, it doesn't, and
this change is required.

Signed-off-by: Tycho Andersen <tycho@tycho.ws>
src/lxc/start.c

index 00e255a691f3bab113dd3f07d5f288a450496316..bd97545ecf471b5f156b3cd2579977a0065bcd34 100644 (file)
@@ -1823,7 +1823,7 @@ int __lxc_start(const char *name, struct lxc_handler *handler,
        }
 
        lxc_monitor_send_exit_code(name, status, handler->lxcpath);
-       err =  lxc_error_set_and_log(handler->pid, status);
+       lxc_error_set_and_log(handler->pid, status);
 
 out_fini:
        lxc_delete_network(handler);