summaryrefslogtreecommitdiff
path: root/lib/internal/bootstrap/pre_execution.js
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-10-29 15:15:36 +0100
committerAnna Henningsen <anna@addaleax.net>2019-11-05 23:07:04 +0100
commit973f324463a91721cc8a1158a5ab10ad0dd69019 (patch)
treea7664cbcc50c0fe7eced11fb20e49dc255abfe1e /lib/internal/bootstrap/pre_execution.js
parentf17e414dc4b5d80dd5b5c7ee7107659ec5ebeb1a (diff)
downloadandroid-node-v8-973f324463a91721cc8a1158a5ab10ad0dd69019.tar.gz
android-node-v8-973f324463a91721cc8a1158a5ab10ad0dd69019.tar.bz2
android-node-v8-973f324463a91721cc8a1158a5ab10ad0dd69019.zip
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/pre_execution.js')
-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 80ac97ee45..e58293e616 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);
}
}