Skip to content

Instantly share code, notes, and snippets.

@piscisaureus
Created June 6, 2012 00:35
Show Gist options
  • Save piscisaureus/2879135 to your computer and use it in GitHub Desktop.
Save piscisaureus/2879135 to your computer and use it in GitHub Desktop.
uv_pipe_t pipe1, pipe2;
// PIPE_SPAWN_SAFE creates a pipe that is safe for using with
// uv_spawn(). When the flag is not used, spawn() will not reject
// the pipe end but the child process may not be able to use it.
uv_pipe_init2(&pipe1, PIPE_SPAWN_SAFE | PIPE_READABLE);
uv_pipe_init2(&pipe2, PIPE_SPAWN_SAFE | PIPE_WRITEABLE);
uv_pipe_link(&pipe1, &pipe2); // Connects 2 unconnected pipes together
uv_spawn(xxx, stdin:pipe1)
uv_spawn(yyy, stdout:pipe2);
// uv_close_pipe_sync only works if the pipe is inactive,
// e.g. not busy reading/writing/connecting/listerning.
// otherwise the function abort()s
uv_close_pipe_sync(&pipe1);
uv_close_pipe_sync(&pipe2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment