start-stop-daemon: remove unnecessary carve-out for pipe FD

1364e6631c 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().
This commit is contained in:
Matt Whitlock 2022-12-08 19:04:19 -05:00 committed by William Hubbs
parent 6f44445958
commit de295bd0c6

View File

@ -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;