From: Christian Brauner Date: Fri, 22 Jun 2018 12:13:06 +0000 (+0200) Subject: commands: simplify lxc_cmd() X-Git-Tag: lxc-2.0.10~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ebd961d2466c25ef17051da8b7a5f36778df0333;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 fc821cdc0..0be608d80 100644 --- a/src/lxc/commands.c +++ b/src/lxc/commands.c @@ -302,21 +302,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); @@ -325,10 +326,6 @@ out: cmd->rsp.ret = client_fd; return ret; - -epipe: - *stopped = 1; - return 0; } int lxc_try_cmd(const char *name, const char *lxcpath)