mirror of https://gitee.com/openkylin/nodejs.git
33 lines
958 B
JavaScript
33 lines
958 B
JavaScript
'use strict';
|
|
require('../common');
|
|
const cluster = require('cluster');
|
|
const assert = require('assert');
|
|
|
|
if (cluster.isMaster) {
|
|
const worker = cluster.fork();
|
|
let workerDead = worker.isDead();
|
|
assert.ok(!workerDead,
|
|
`isDead() returned ${workerDead}. isDead() should return ` +
|
|
'false right after the worker has been created.');
|
|
|
|
worker.on('exit', function() {
|
|
workerDead = worker.isDead();
|
|
assert.ok(workerDead,
|
|
`isDead() returned ${workerDead}. After an event has been ` +
|
|
'emitted, isDead should return true');
|
|
});
|
|
|
|
worker.on('message', function(msg) {
|
|
if (msg === 'readyToDie') {
|
|
worker.kill();
|
|
}
|
|
});
|
|
|
|
} else if (cluster.isWorker) {
|
|
const workerDead = cluster.worker.isDead();
|
|
assert.ok(!workerDead,
|
|
`isDead() returned ${workerDead}. isDead() should return ` +
|
|
'false when called from within a worker');
|
|
process.send('readyToDie');
|
|
}
|