aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Whitlock <gentoo@mattwhitlock.name>2022-12-08 19:04:19 -0500
committerWilliam Hubbs <w.d.hubbs@gmail.com>2023-01-20 21:44:37 -0600
commitde295bd0c63f15e3d4e797e053826dbacbce556e (patch)
treea9d778b67cd0f29bd742d2474afb711aa7228dbe
parent6f444459586b5012717f37a3e51024b3abb224ec (diff)
start-stop-daemon: remove unnecessary carve-out for pipe FD
1364e6631c7f266484981d88be43f9b039f76b6a exempted the write end of the synchronization pipe from the close() loop in the child process, but this is unnecessary, as the pipe is opened with O_CLOEXEC, and the child process calls execvp() soon after the close() loop, with the intervening code not needing the pipe. Indeed, the pipe only needs to remain open in the child process until after the call to setsid(), which occurs well before the close() loop. So, eliminate the needless carve-out from the close() loop, in preparation for introducing closefrom().
-rw-r--r--src/start-stop-daemon/start-stop-daemon.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/start-stop-daemon/start-stop-daemon.c b/src/start-stop-daemon/start-stop-daemon.c
index d3f6fd4d..b3a8edca 100644
--- a/src/start-stop-daemon/start-stop-daemon.c
+++ b/src/start-stop-daemon/start-stop-daemon.c
@@ -1105,8 +1105,7 @@ int main(int argc, char **argv)
dup2(stderr_fd, STDERR_FILENO);
for (i = getdtablesize() - 1; i >= 3; --i)
- if (i != pipefd[1])
- close(i);
+ close(i);
if (scheduler != NULL) {
int scheduler_index;