tools: move message listener to worker objects
Moving the `message` event listener from the cluster object to each worker object allows easier backporting of the recent jslint changes since v5.x and older do not have v6.x's `worker` parameter in the cluster object's `message` event. PR-URL: https://github.com/nodejs/node/pull/6212 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
This commit is contained in:
parent
af4a380d40
commit
58561cf6a8
@ -125,20 +125,6 @@ if (cluster.isMaster) {
|
|||||||
sendWork(worker);
|
sendWork(worker);
|
||||||
});
|
});
|
||||||
|
|
||||||
cluster.on('message', function(worker, results) {
|
|
||||||
if (typeof results !== 'number') {
|
|
||||||
// The worker sent us results that are not all successes
|
|
||||||
if (!workerConfig.sendAll)
|
|
||||||
failures += results.length;
|
|
||||||
outFn(formatter(results) + '\r\n');
|
|
||||||
printProgress();
|
|
||||||
} else {
|
|
||||||
successes += results;
|
|
||||||
}
|
|
||||||
// Try to give the worker more work to do
|
|
||||||
sendWork(worker);
|
|
||||||
});
|
|
||||||
|
|
||||||
process.on('exit', function() {
|
process.on('exit', function() {
|
||||||
if (showProgress) {
|
if (showProgress) {
|
||||||
curPath = 'Done';
|
curPath = 'Done';
|
||||||
@ -149,7 +135,21 @@ if (cluster.isMaster) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
for (i = 0; i < numCPUs; ++i)
|
for (i = 0; i < numCPUs; ++i)
|
||||||
cluster.fork();
|
cluster.fork().on('message', onWorkerMessage);
|
||||||
|
|
||||||
|
function onWorkerMessage(results) {
|
||||||
|
if (typeof results !== 'number') {
|
||||||
|
// The worker sent us results that are not all successes
|
||||||
|
if (!workerConfig.sendAll)
|
||||||
|
failures += results.length;
|
||||||
|
outFn(formatter(results) + '\r\n');
|
||||||
|
printProgress();
|
||||||
|
} else {
|
||||||
|
successes += results;
|
||||||
|
}
|
||||||
|
// Try to give the worker more work to do
|
||||||
|
sendWork(this);
|
||||||
|
}
|
||||||
|
|
||||||
function sendWork(worker) {
|
function sendWork(worker) {
|
||||||
if (!files || !files.length) {
|
if (!files || !files.length) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user