]> 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)
committerChristian Brauner <christian.brauner@ubuntu.com>
Fri, 19 Jan 2018 14:20:02 +0000 (15:20 +0100)
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 3426351587e67a0edd13a9fc97bdf77ff1836ccf..dd366d13d3b8ca59c0c0168333cff6f17a251829 100644 (file)
@@ -1796,7 +1796,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);