Files
node/test/parallel/test-cluster-worker-isdead.js
2025-11-07 16:22:01 +00:00

33 lines
986 B
JavaScript

'use strict';
const common = require('../common');
const cluster = require('cluster');
const assert = require('assert');
if (cluster.isPrimary) {
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', common.mustCall(() => {
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');
}