Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

unix: Reset flags for stdio fds after fork

  • Loading branch information...
ry committed Sep 15, 2011
1 parent 533418d commit 2640aae125e1dc30d81f26a74525cca7806fe76e
Showing with 12 additions and 0 deletions.
  1. +12 −0 src/unix/process.c
@@ -179,16 +179,28 @@ int uv_spawn(uv_loop_t* loop, uv_process_t* process,
if (stdin_pipe[0] >= 0) {
uv__close(stdin_pipe[1]);
dup2(stdin_pipe[0], STDIN_FILENO);
} else {
/* Reset flags that might be set by Node */
uv__cloexec(STDIN_FILENO, 0);
uv__nonblock(STDIN_FILENO, 0);
}

if (stdout_pipe[1] >= 0) {
uv__close(stdout_pipe[0]);
dup2(stdout_pipe[1], STDOUT_FILENO);
} else {
/* Reset flags that might be set by Node */
uv__cloexec(STDOUT_FILENO, 0);
uv__nonblock(STDOUT_FILENO, 0);
}

if (stderr_pipe[1] >= 0) {
uv__close(stderr_pipe[0]);
dup2(stderr_pipe[1], STDERR_FILENO);
} else {
/* Reset flags that might be set by Node */
uv__cloexec(STDERR_FILENO, 0);
uv__nonblock(STDERR_FILENO, 0);
}

if (options.cwd && chdir(options.cwd)) {

0 comments on commit 2640aae

Please sign in to comment.
You can’t perform that action at this time.