summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/cluster.js8
-rw-r--r--test/parallel/test-cluster-debug-port.js5
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/cluster.js b/lib/cluster.js
index a4b82ca1cc..45cbf5f772 100644
--- a/lib/cluster.js
+++ b/lib/cluster.js
@@ -299,6 +299,7 @@ function masterInit() {
function createWorkerProcess(id, env) {
var workerEnv = util._extend({}, process.env);
var execArgv = cluster.settings.execArgv.slice();
+ var debugPort = 0;
workerEnv = util._extend(workerEnv, env);
workerEnv.NODE_UNIQUE_ID = '' + id;
@@ -309,8 +310,11 @@ function masterInit() {
);
if (match) {
- const debugPort = process.debugPort + debugPortOffset;
- ++debugPortOffset;
+ if (debugPort === 0) {
+ debugPort = process.debugPort + debugPortOffset;
+ ++debugPortOffset;
+ }
+
execArgv[i] = match[1] + '=' + debugPort;
}
}
diff --git a/test/parallel/test-cluster-debug-port.js b/test/parallel/test-cluster-debug-port.js
index e8f3f58b95..70203124ef 100644
--- a/test/parallel/test-cluster-debug-port.js
+++ b/test/parallel/test-cluster-debug-port.js
@@ -22,6 +22,11 @@ if (cluster.isMaster) {
portSet: process.debugPort + 1
}).on('exit', checkExitCode);
+ cluster.setupMaster({
+ execArgv: [`--debug-port=${process.debugPort}`,
+ `--debug=${process.debugPort}`]
+ });
+
console.log('forked worker should have --debug-port, with offset = 2');
cluster.fork({
portSet: process.debugPort + 2