summaryrefslogtreecommitdiff
path: root/src/activate
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-02-28 23:32:49 +0100
committerLennart Poettering <lennart@poettering.net>2018-03-02 11:42:10 +0100
commit2b33ab0957f453a06b58e4bee482f2c2d4e100c1 (patch)
tree2e69f5eba365053b6048e3780ca44fd5f92f1ddf /src/activate
parent8bb2db738e13f67cdfe17afefac5fb03ca68a7e6 (diff)
downloadsystemd-2b33ab0957f453a06b58e4bee482f2c2d4e100c1.tar.gz
tree-wide: port various places over to use new rearrange_stdio()
Diffstat (limited to 'src/activate')
-rw-r--r--src/activate/activate.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/activate/activate.c b/src/activate/activate.c
index c07dcb8626..c856c8c100 100644
--- a/src/activate/activate.c
+++ b/src/activate/activate.c
@@ -199,15 +199,10 @@ static int exec_process(const char* name, char **argv, char **env, int start_fd,
if (arg_inetd) {
assert(n_fds == 1);
- r = dup2(start_fd, STDIN_FILENO);
+ r = rearrange_stdio(start_fd, start_fd, STDERR_FILENO); /* invalidates start_fd on success + error */
if (r < 0)
- return log_error_errno(errno, "Failed to dup connection to stdin: %m");
+ return log_error_errno(errno, "Failed to move fd to stdin+stdout: %m");
- r = dup2(start_fd, STDOUT_FILENO);
- if (r < 0)
- return log_error_errno(errno, "Failed to dup connection to stdout: %m");
-
- start_fd = safe_close(start_fd);
} else {
if (start_fd != SD_LISTEN_FDS_START) {
assert(n_fds == 1);