From: Christian Brauner Date: Wed, 29 Nov 2017 02:46:12 +0000 (+0100) Subject: utils: backport set_stdfds() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6bdbc920ec709d112e8ab84ba6dbdd5bb39d2b70;p=thirdparty%2Flxc.git utils: backport set_stdfds() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/utils.c b/src/lxc/utils.c index f8239874d..dbe2e810b 100644 --- a/src/lxc/utils.c +++ b/src/lxc/utils.c @@ -1365,3 +1365,25 @@ int safe_mount(const char *src, const char *dest, const char *fstype, return 0; } + +int set_stdfds(int fd) +{ + int ret; + + if (fd < 0) + return -1; + + ret = dup2(fd, STDIN_FILENO); + if (ret < 0) + return -1; + + ret = dup2(fd, STDOUT_FILENO); + if (ret < 0) + return -1; + + ret = dup2(fd, STDERR_FILENO); + if (ret < 0) + return -1; + + return 0; +} diff --git a/src/lxc/utils.h b/src/lxc/utils.h index bf62bd060..89225da1e 100644 --- a/src/lxc/utils.h +++ b/src/lxc/utils.h @@ -294,4 +294,5 @@ int null_stdfds(void); int safe_mount(const char *src, const char *dest, const char *fstype, unsigned long flags, const void *data, const char *rootfs); +int set_stdfds(int fd); #endif /* __LXC_UTILS_H */