Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-10-29 17:15:36 +0300
committerAnna Henningsen <anna@addaleax.net>2019-11-06 01:07:04 +0300
commit973f324463a91721cc8a1158a5ab10ad0dd69019 (patch)
treea7664cbcc50c0fe7eced11fb20e49dc255abfe1e /lib/internal/bootstrap
parentf17e414dc4b5d80dd5b5c7ee7107659ec5ebeb1a (diff)
child_process,cluster: allow using V8 serialization API
Add an `serialization` option that allows child process IPC to use the (typically more powerful) V8 serialization API. Fixes: https://github.com/nodejs/node/issues/10965 PR-URL: https://github.com/nodejs/node/pull/30162 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'lib/internal/bootstrap')
-rw-r--r--lib/internal/bootstrap/pre_execution.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/internal/bootstrap/pre_execution.js b/lib/internal/bootstrap/pre_execution.js
index 80ac97ee450..e58293e6168 100644
--- a/lib/internal/bootstrap/pre_execution.js
+++ b/lib/internal/bootstrap/pre_execution.js
@@ -326,7 +326,11 @@ function setupChildProcessIpcChannel() {
// Make sure it's not accidentally inherited by child processes.
delete process.env.NODE_CHANNEL_FD;
- require('child_process')._forkChild(fd);
+ const serializationMode =
+ process.env.NODE_CHANNEL_SERIALIZATION_MODE || 'json';
+ delete process.env.NODE_CHANNEL_SERIALIZATION_MODE;
+
+ require('child_process')._forkChild(fd, serializationMode);
assert(process.send);
}
}