blob: a0ada77bd023b1424ad6657166e2dc061d4441bf [file] [log] [blame] [edit]
'use strict';
const common = require('../common');
const cluster = require('cluster');
const assert = require('assert');
if (cluster.isMaster) {
const worker = cluster.fork();
assert.strictEqual(worker.isConnected(), true);
worker.on('disconnect', common.mustCall(() => {
assert.strictEqual(worker.isConnected(), false);
}));
worker.on('message', function(msg) {
if (msg === 'readyToDisconnect') {
worker.disconnect();
}
});
} else {
function assertNotConnected() {
assert.strictEqual(cluster.worker.isConnected(), false);
}
assert.strictEqual(cluster.worker.isConnected(), true);
cluster.worker.on('disconnect', common.mustCall(assertNotConnected));
cluster.worker.process.on('disconnect', common.mustCall(assertNotConnected));
process.send('readyToDisconnect');
}