mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
fix: ensure child_process.fork() doesn't modify main process env (#19845)
This commit is contained in:
committed by
Samuel Attard
parent
ce502b19ba
commit
5e33a5e778
@@ -6,11 +6,11 @@ Subject: Inherit ELECTRON_CRASHPAD_PIPE_NAME in child process
|
||||
This is required for crashReporter to work correctly in node process.
|
||||
|
||||
diff --git a/lib/child_process.js b/lib/child_process.js
|
||||
index 8934a90f8d5c0557689eba80512802a38a8072ec..a60985173b5b1b7937cd32e69f5cce2128b5af66 100644
|
||||
index e489b75262928c5c3ff53676fc49e7005df43376..6d2b0a5448957325e7df330e0b26c96c4100a429 100644
|
||||
--- a/lib/child_process.js
|
||||
+++ b/lib/child_process.js
|
||||
@@ -108,6 +108,10 @@ function fork(modulePath /* , args, options */) {
|
||||
|
||||
@@ -107,6 +107,10 @@ function fork(modulePath /* , args, options */) {
|
||||
options.env = Object.create(options.env || process.env)
|
||||
options.env.ELECTRON_RUN_AS_NODE = 1;
|
||||
|
||||
+ if (process.platform === 'win32') {
|
||||
|
||||
@@ -7,17 +7,16 @@ Subject: refactor: alter child_process.fork to use execute script with
|
||||
When forking a child script, we setup a special environment to make the Electron binary run like the upstream node. On Mac, we use the helper app as node binary.
|
||||
|
||||
diff --git a/lib/child_process.js b/lib/child_process.js
|
||||
index 66be7611dc958721aa67603396ac9dcc0b9737b0..8934a90f8d5c0557689eba80512802a38a8072ec 100644
|
||||
index 66be7611dc958721aa67603396ac9dcc0b9737b0..e489b75262928c5c3ff53676fc49e7005df43376 100644
|
||||
--- a/lib/child_process.js
|
||||
+++ b/lib/child_process.js
|
||||
@@ -102,6 +102,16 @@ function fork(modulePath /* , args, options */) {
|
||||
@@ -102,6 +102,15 @@ function fork(modulePath /* , args, options */) {
|
||||
throw new ERR_CHILD_PROCESS_IPC_REQUIRED('options.stdio');
|
||||
}
|
||||
|
||||
+ if (!options.env) {
|
||||
+ options.env = Object.create(process.env);
|
||||
+ }
|
||||
+
|
||||
+ // When forking a child script, we setup a special environment to make
|
||||
+ // the electron binary run like upstream Node.js
|
||||
+ options.env = Object.create(options.env || process.env)
|
||||
+ options.env.ELECTRON_RUN_AS_NODE = 1;
|
||||
+
|
||||
+ if (!options.execPath && process.type && process.platform == 'darwin') {
|
||||
|
||||
Reference in New Issue
Block a user