From 90ce5b3d41a01bfd5793d1d634318fe607fa533c Mon Sep 17 00:00:00 2001 From: isaacs Date: Fri, 30 Mar 2012 12:24:46 -0700 Subject: [PATCH] cluster: Rename 'death' back to 'exit' --- doc/api/cluster.markdown | 26 +++++++++---------- lib/cluster.js | 8 +++--- test/simple/test-cluster-basic.js | 10 +++---- test/simple/test-cluster-http-pipe.js | 2 +- test/simple/test-cluster-message.js | 2 +- test/simple/test-cluster-worker-disconnect.js | 16 ++++++------ 6 files changed, 32 insertions(+), 32 deletions(-) diff --git a/doc/api/cluster.markdown b/doc/api/cluster.markdown index adc9c8dc08..04af625bba 100644 --- a/doc/api/cluster.markdown +++ b/doc/api/cluster.markdown @@ -19,7 +19,7 @@ all share server ports. cluster.fork(); } - cluster.on('death', function(worker) { + cluster.on('exit', function(worker) { console.log('worker ' + worker.pid + ' died'); }); } else { @@ -87,7 +87,7 @@ This can be used to log worker activity, and create you own timeout. cluster.on('listening', function (worker) { clearTimeout(timeouts[worker.uniqueID]); }); - cluster.on('death', function (worker) { + cluster.on('exit', function (worker) { clearTimeout(timeouts[worker.uniqueID]); errorMsg(); }); @@ -126,7 +126,7 @@ When a workers IPC channel has disconnected this event is emitted. This will hap when the worker dies, usually after calling `.destroy()`. When calling `.disconnect()`, there may be a delay between the -`disconnect` and `death` events. This event can be used to detect if +`disconnect` and `exit` events. This event can be used to detect if the process is stuck in a cleanup or if there are long-living connections. @@ -134,14 +134,14 @@ connections. console.log('The worker #' + worker.uniqueID + ' has disconnected'); }); -## Event: 'death' +## Event: 'exit' * `worker` {Worker object} -When any of the workers die the cluster module will emit the 'death' event. +When any of the workers die the cluster module will emit the 'exit' event. This can be used to restart the worker by calling `fork()` again. - cluster.on('death', function(worker) { + cluster.on('exit', function(worker) { console.log('worker ' + worker.pid + ' died. restart...'); cluster.fork(); }); @@ -286,10 +286,10 @@ This example will echo back all messages from the master: ### worker.destroy() This function will kill the worker, and inform the master to not spawn a -new worker. To know the difference between suicide and accidentally death -a suicide boolean is set to true. +new worker. To know the difference between suicide and accidentally +exit, the `suicide` boolean is set to true. - cluster.on('death', function (worker) { + cluster.on('exit', function (worker) { if (worker.suicide === true) { console.log('Oh, it was just suicide\' – no need to worry'). } @@ -305,7 +305,7 @@ When calling this function the worker will no longer accept new connections, but they will be handled by any other listening worker. Existing connection will be allowed to exit as usual. When no more connections exist, the IPC channel to the worker will close allowing it to die graceful. When the IPC channel is closed the `disconnect` -event will emit, this is then followed by the `death` event, there is emitted when +event will emit, this is then followed by the `exit` event, there is emitted when the worker finally die. Because there might be long living connections, it is useful to implement a timeout. @@ -427,13 +427,13 @@ on the specified worker. // Worker has disconnected }; -### Event: 'death' +### Event: 'exit' * `worker` {Worker object} -Same as the `cluster.on('death')` event, but emits only when the state change +Same as the `cluster.on('exit')` event, but emits only when the state change on the specified worker. - cluster.fork().on('death', function (worker) { + cluster.fork().on('exit', function (worker) { // Worker has died }; diff --git a/lib/cluster.js b/lib/cluster.js index c47270585e..dfd13cd926 100644 --- a/lib/cluster.js +++ b/lib/cluster.js @@ -294,9 +294,9 @@ function Worker(customEnv) { // handle internalMessage, exit and disconnect event this.process.on('internalMessage', handleMessage.bind(null, this)); - this.process.on('exit', prepareDeath.bind(null, this, 'dead', 'death')); + this.process.on('exit', prepareExit.bind(null, this, 'dead', 'exit')); this.process.on('disconnect', - prepareDeath.bind(null, this, 'disconnected', 'disconnect')); + prepareExit.bind(null, this, 'disconnected', 'disconnect')); // relay message and error this.process.on('message', this.emit.bind(this, 'message')); @@ -306,7 +306,7 @@ function Worker(customEnv) { util.inherits(Worker, EventEmitter); cluster.Worker = Worker; -function prepareDeath(worker, state, eventName) { +function prepareExit(worker, state, eventName) { // set state to disconnect worker.state = state; @@ -417,7 +417,7 @@ if (cluster.isMaster) { // there are no more servers open so we will close the IPC channel. // Closing the IPC channel will emit a disconnect event // in both master and worker on the process object. - // This event will be handled by prepareDeath. + // This event will be handled by prepareExit. self.process.disconnect(); }); diff --git a/test/simple/test-cluster-basic.js b/test/simple/test-cluster-basic.js index adc7775206..3fe5f7fc27 100644 --- a/test/simple/test-cluster-basic.js +++ b/test/simple/test-cluster-basic.js @@ -49,13 +49,13 @@ else if (cluster.isMaster) { fork: false, online: false, listening: false, - death: false + exit: false }, equal: { fork: false, online: false, listening: false, - death: false + exit: false } }, @@ -63,12 +63,12 @@ else if (cluster.isMaster) { events: { online: false, listening: false, - death: false + exit: false }, equal: { online: false, listening: false, - death: false + exit: false }, states: { none: false, @@ -106,7 +106,7 @@ else if (cluster.isMaster) { }); //Kill process when worker is killed - cluster.on('death', function() { + cluster.on('exit', function() { process.exit(0); }); diff --git a/test/simple/test-cluster-http-pipe.js b/test/simple/test-cluster-http-pipe.js index 8e96114c23..47374d9b33 100644 --- a/test/simple/test-cluster-http-pipe.js +++ b/test/simple/test-cluster-http-pipe.js @@ -31,7 +31,7 @@ if (cluster.isMaster) { assert.equal(msg, 'DONE'); ok = true; }); - worker.on('death', function() { + worker.on('exit', function() { process.exit(); }); process.on('exit', function() { diff --git a/test/simple/test-cluster-message.js b/test/simple/test-cluster-message.js index 6bab71d944..e60fbf0cb0 100644 --- a/test/simple/test-cluster-message.js +++ b/test/simple/test-cluster-message.js @@ -114,7 +114,7 @@ else if (cluster.isMaster) { worker.destroy(); }); - worker.on('death', function() { + worker.on('exit', function() { process.exit(0); }); diff --git a/test/simple/test-cluster-worker-disconnect.js b/test/simple/test-cluster-worker-disconnect.js index af2bf7078d..15329c998d 100644 --- a/test/simple/test-cluster-worker-disconnect.js +++ b/test/simple/test-cluster-worker-disconnect.js @@ -35,12 +35,12 @@ if (cluster.isWorker) { var checks = { cluster: { emitDisconnect: false, - emitDeath: false, + emitExit: false, callback: false }, worker: { emitDisconnect: false, - emitDeath: false, + emitExit: false, state: false, suicideMode: false, died: false @@ -69,8 +69,8 @@ if (cluster.isWorker) { cluster.once('disconnect', function() { checks.cluster.emitDisconnect = true; }); - cluster.once('death', function() { - checks.cluster.emitDeath = true; + cluster.once('exit', function() { + checks.cluster.emitExit = true; }); // Check worker eventes and properties @@ -81,8 +81,8 @@ if (cluster.isWorker) { }); // Check that the worker died - worker.once('death', function() { - checks.worker.emitDeath = true; + worker.once('exit', function() { + checks.worker.emitExit = true; checks.worker.died = !alive(worker.process.pid); process.nextTick(function() { process.exit(0); @@ -97,8 +97,8 @@ if (cluster.isWorker) { // events assert.ok(w.emitDisconnect, 'Disconnect event did not emit'); assert.ok(c.emitDisconnect, 'Disconnect event did not emit'); - assert.ok(w.emitDeath, 'Death event did not emit'); - assert.ok(c.emitDeath, 'Death event did not emit'); + assert.ok(w.emitExit, 'Exit event did not emit'); + assert.ok(c.emitExit, 'Exit event did not emit'); // flags assert.equal(w.state, 'disconnected', 'The state property was not set');