fix(node): Create additional pipes for child processes (#25016)

Linux/macos only currently.

Part of https://github.com/denoland/deno/issues/23524 (fixes it on
platforms other than windows).
Part of #16899  (fixes it on platforms other than windows).

After this PR, playwright is functional on mac/linux.
This commit is contained in:
Nathan Whitaker 2024-08-15 09:38:46 -07:00 committed by GitHub
parent 7ca95fc999
commit 8749d651fb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 785 additions and 304 deletions

View file

@ -60,12 +60,21 @@ mod pipe;
#[cfg(windows)]
mod winpipe;
mod bi_pipe;
pub use pipe::pipe;
pub use pipe::AsyncPipeRead;
pub use pipe::AsyncPipeWrite;
pub use pipe::PipeRead;
pub use pipe::PipeWrite;
pub use bi_pipe::bi_pipe_pair_raw;
pub use bi_pipe::BiPipe;
pub use bi_pipe::BiPipeRead;
pub use bi_pipe::BiPipeResource;
pub use bi_pipe::BiPipeWrite;
pub use bi_pipe::RawBiPipeHandle;
// Store the stdio fd/handles in global statics in order to keep them
// alive for the duration of the application since the last handle/fd
// being dropped will close the corresponding pipe.