From: Christian Brauner Date: Fri, 22 Jun 2018 12:13:06 +0000 (+0200) Subject: commands: simplify lxc_cmd() X-Git-Tag: lxc-3.1.0~233^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a93ae77108ced03ab58c1c4bf6e349c3f0c16c1;p=thirdparty%2Flxc.git commands: simplify lxc_cmd() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/commands.c b/src/lxc/commands.c index e83002d37..8c1a03d58 100644 --- a/src/lxc/commands.c +++ b/src/lxc/commands.c @@ -309,21 +309,22 @@ static int lxc_cmd(const char *name, struct lxc_cmd_rr *cmd, int *stopped, if (client_fd < 0) { TRACE("%s - Command \"%s\" failed to connect command socket", strerror(errno), lxc_cmd_str(cmd->req.cmd)); - if (client_fd == -ECONNREFUSED) { + + if (client_fd == -ECONNREFUSED) *stopped = 1; - return -1; - } - if (client_fd == -EPIPE) - goto epipe; + if (client_fd == -EPIPE) { + *stopped = 1; + client_fd = 0; + } - goto out; + return client_fd; } ret = lxc_cmd_rsp_recv(client_fd, cmd); if (ret == -ECONNRESET) *stopped = 1; -out: + if (!stay_connected || ret <= 0) if (client_fd >= 0) close(client_fd); @@ -332,10 +333,6 @@ out: cmd->rsp.ret = client_fd; return ret; - -epipe: - *stopped = 1; - return 0; } int lxc_try_cmd(const char *name, const char *lxcpath)