diff: use O_CLOEXEC on pipes
This only simplifies the code, no functional changes expected MFC After: 1 week
This commit is contained in:
+2
-5
@@ -61,7 +61,7 @@ start_pr(char *file1, char *file2)
|
|||||||
xasprintf(&header, "%s %s %s", diffargs, file1, file2);
|
xasprintf(&header, "%s %s %s", diffargs, file1, file2);
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
if (pipe(pfd) == -1)
|
if (pipe2(pfd, O_CLOEXEC) == -1)
|
||||||
err(2, "pipe");
|
err(2, "pipe");
|
||||||
|
|
||||||
if ((error = posix_spawnattr_init(&sa)) != 0)
|
if ((error = posix_spawnattr_init(&sa)) != 0)
|
||||||
@@ -71,11 +71,8 @@ start_pr(char *file1, char *file2)
|
|||||||
|
|
||||||
posix_spawnattr_setprocdescp_np(&sa, &pr->procd, 0);
|
posix_spawnattr_setprocdescp_np(&sa, &pr->procd, 0);
|
||||||
|
|
||||||
if (pfd[0] != STDIN_FILENO) {
|
if (pfd[0] != STDIN_FILENO)
|
||||||
posix_spawn_file_actions_adddup2(&fa, pfd[0], STDIN_FILENO);
|
posix_spawn_file_actions_adddup2(&fa, pfd[0], STDIN_FILENO);
|
||||||
posix_spawn_file_actions_addclose(&fa, pfd[0]);
|
|
||||||
}
|
|
||||||
posix_spawn_file_actions_addclose(&fa, pfd[1]);
|
|
||||||
|
|
||||||
char *argv[] = { __DECONST(char *, _PATH_PR),
|
char *argv[] = { __DECONST(char *, _PATH_PR),
|
||||||
__DECONST(char *, "-h"), header, NULL };
|
__DECONST(char *, "-h"), header, NULL };
|
||||||
|
|||||||
Reference in New Issue
Block a user