[lxc-devel] [PATCH] Fix return value of userns_exec_1

Stéphane Graber stgraber at ubuntu.com
Tue Jan 14 23:27:47 UTC 2014


Instead of always returning -1 and call SYSERROR when the child returns
non-zero. Have userns_exec_1 always return the return value from the
function it's calling and let the caller do the error handling (as is
already done by its only caller).

Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
 src/lxc/conf.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/lxc/conf.c b/src/lxc/conf.c
index 7e0eddd..159684c 100644
--- a/src/lxc/conf.c
+++ b/src/lxc/conf.c
@@ -4054,10 +4054,11 @@ int userns_exec_1(struct lxc_conf *conf, int (*fn)(void *), void *data)
 		goto err;
 	}
 
-	if ((ret = wait_for_pid(pid)) < 0) {
-		ERROR("Child returned an error: %d\n", ret);
-		goto err;
-	}
+	ret = wait_for_pid(pid);
+
+	close(p[1]);
+	return ret;
+
 err:
 	if (p[0] != -1)
 		close(p[0]);
-- 
1.8.5.2



More information about the lxc-devel mailing list