src: fix preload when used with prior flags
Fixes: https://github.com/nodejs/io.js/issues/1691 PR-URL: https://github.com/nodejs/io.js/pull/1694 Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
This commit is contained in:
parent
8a0e5295b4
commit
0a461e5360
21
src/node.js
21
src/node.js
@ -82,16 +82,9 @@
|
|||||||
delete process.env.NODE_UNIQUE_ID;
|
delete process.env.NODE_UNIQUE_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load any preload modules
|
|
||||||
if (process._preload_modules) {
|
|
||||||
var Module = NativeModule.require('module');
|
|
||||||
process._preload_modules.forEach(function(module) {
|
|
||||||
Module._load(module);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (process._eval != null) {
|
if (process._eval != null) {
|
||||||
// User passed '-e' or '--eval' arguments to Node.
|
// User passed '-e' or '--eval' arguments to Node.
|
||||||
|
startup.preloadModules();
|
||||||
evalScript('[eval]');
|
evalScript('[eval]');
|
||||||
} else if (process.argv[1]) {
|
} else if (process.argv[1]) {
|
||||||
// make process.argv[1] into a full path
|
// make process.argv[1] into a full path
|
||||||
@ -99,7 +92,7 @@
|
|||||||
process.argv[1] = path.resolve(process.argv[1]);
|
process.argv[1] = path.resolve(process.argv[1]);
|
||||||
|
|
||||||
var Module = NativeModule.require('module');
|
var Module = NativeModule.require('module');
|
||||||
|
startup.preloadModules();
|
||||||
if (global.v8debug &&
|
if (global.v8debug &&
|
||||||
process.execArgv.some(function(arg) {
|
process.execArgv.some(function(arg) {
|
||||||
return arg.match(/^--debug-brk(=[0-9]*)?$/);
|
return arg.match(/^--debug-brk(=[0-9]*)?$/);
|
||||||
@ -857,6 +850,16 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Load preload modules
|
||||||
|
startup.preloadModules = function() {
|
||||||
|
if (process._preload_modules) {
|
||||||
|
var Module = NativeModule.require('module');
|
||||||
|
process._preload_modules.forEach(function(module) {
|
||||||
|
Module._load(module);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// Below you find a minimal module system, which is used to load the node
|
// Below you find a minimal module system, which is used to load the node
|
||||||
// core modules found in lib/*.js. All core modules are compiled into the
|
// core modules found in lib/*.js. All core modules are compiled into the
|
||||||
// node binary, so they can be loaded faster.
|
// node binary, so they can be loaded faster.
|
||||||
|
@ -80,3 +80,15 @@ child_process.exec(nodeBinary + ' '
|
|||||||
if (err) throw err;
|
if (err) throw err;
|
||||||
assert.ok(/worker terminated with code 43/.test(stdout));
|
assert.ok(/worker terminated with code 43/.test(stdout));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// https://github.com/iojs/io.js/issues/1691
|
||||||
|
var originalCwd = process.cwd();
|
||||||
|
process.chdir(path.join(__dirname, '../fixtures/'));
|
||||||
|
child_process.exec(nodeBinary + ' '
|
||||||
|
+ '--expose_debug_as=v8debug '
|
||||||
|
+ '--require ' + fixture('cluster-preload.js') + ' '
|
||||||
|
+ 'cluster-preload-test.js',
|
||||||
|
function(err, stdout, stderr) {
|
||||||
|
if (err) throw err;
|
||||||
|
assert.ok(/worker terminated with code 43/.test(stdout));
|
||||||
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user