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 <stgra...@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 _______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel