diff --git a/lib/cluster.js b/lib/cluster.js index f75fda5216..4f8fb8c45e 100644 --- a/lib/cluster.js +++ b/lib/cluster.js @@ -269,7 +269,9 @@ function masterInit() { process._debugProcess(cluster.workers[key].process.pid); }); - cluster.emit('setup'); + process.nextTick(function() { + cluster.emit('setup'); + }); }; var ids = 0; diff --git a/test/simple/test-cluster-setup-master.js b/test/simple/test-cluster-setup-master.js index b842228fc9..d9f3879280 100644 --- a/test/simple/test-cluster-setup-master.js +++ b/test/simple/test-cluster-setup-master.js @@ -39,6 +39,12 @@ if (cluster.isWorker) { var totalWorkers = 2; + // Setup master + cluster.setupMaster({ + args: ['custom argument'], + silent: true + }); + cluster.once('setup', function() { checks.setupEvent = true; @@ -51,12 +57,6 @@ if (cluster.isWorker) { } }); - // Setup master - cluster.setupMaster({ - args: ['custom argument'], - silent: true - }); - var correctIn = 0; cluster.on('online', function lisenter(worker) {