Browse Source

cluster: do not synchronously emit 'setup' event

This is a problem present in both v0.10, and v0.11, where the 'setup'
event is synchronously emitted by `cluster.setupMaster()`, a mostly
harmless anti-pattern.
v0.11.10-release
Sam Roberts 11 years ago
committed by Timothy J Fontaine
parent
commit
876d3bd85a
  1. 4
      lib/cluster.js
  2. 12
      test/simple/test-cluster-setup-master.js

4
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;

12
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) {

Loading…
Cancel
Save