27 lines
720 B
JavaScript
27 lines
720 B
JavaScript
'use strict';
|
|
|
|
const {
|
|
setDeserializeMainFunction,
|
|
isBuildingSnapshot
|
|
} = require('v8').startupSnapshot;
|
|
|
|
function spawn() {
|
|
const { spawnSync, execFileSync, execSync } = require('child_process');
|
|
spawnSync(process.execPath, [ __filename, 'spawnSync' ], { stdio: 'inherit' });
|
|
if (!process.env.DIRNAME_CONTAINS_SHELL_UNSAFE_CHARS)
|
|
execSync(`"${process.execPath}" "${__filename}" "execSync"`, { stdio: 'inherit' });
|
|
execFileSync(process.execPath, [ __filename, 'execFileSync' ], { stdio: 'inherit' });
|
|
}
|
|
|
|
if (process.argv[2] !== undefined) {
|
|
console.log('From child process', process.argv[2]);
|
|
} else {
|
|
spawn();
|
|
}
|
|
|
|
if (isBuildingSnapshot()) {
|
|
setDeserializeMainFunction(() => {
|
|
spawn();
|
|
});
|
|
}
|