summaryrefslogtreecommitdiff
path: root/runtime/worker_bootstrap.rs
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2023-12-19 18:07:22 +0530
committerGitHub <noreply@github.com>2023-12-19 13:37:22 +0100
commit55fac9f5ead6d30996400e8597c969b675c5a22b (patch)
treef7646976d8e96cc3ca9e158f6a99828c648453e0 /runtime/worker_bootstrap.rs
parentaefa205f63d6e4d0d56b9fd45b3d25e03509b9fb (diff)
fix(node): child_process IPC on Windows (#21597)
This PR implements the child_process IPC pipe between parent and child. The implementation uses Windows named pipes created by parent and passes the inheritable file handle to the child. I've also replace parts of the initial implementation which passed the raw parent fd to JS with resource ids instead. This way no file handle is exposed to the JS land (both parent and child). `IpcJsonStreamResource` can stream upto 800MB/s of JSON data on Win 11 AMD Ryzen 7 16GB (without `memchr` vectorization)
Diffstat (limited to 'runtime/worker_bootstrap.rs')
-rw-r--r--runtime/worker_bootstrap.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/worker_bootstrap.rs b/runtime/worker_bootstrap.rs
index 97d66158b..8f7f05888 100644
--- a/runtime/worker_bootstrap.rs
+++ b/runtime/worker_bootstrap.rs
@@ -59,7 +59,7 @@ pub struct BootstrapOptions {
pub inspect: bool,
pub has_node_modules_dir: bool,
pub maybe_binary_npm_command_name: Option<String>,
- pub node_ipc_fd: Option<i32>,
+ pub node_ipc_fd: Option<i64>,
}
impl Default for BootstrapOptions {