'use strict'; const common = require('../common'); const cluster = require('cluster'); const net = require('net'); if (cluster.isPrimary) { cluster.schedulingPolicy = cluster.SCHED_RR; cluster.fork(); } else { const server = net.createServer(common.mustNotCall()); server.listen(0, common.mustCall(() => { net.connect(server.address().port); })); process.prependListener('internalMessage', common.mustCallAtLeast((message, handle) => { if (message.act !== 'newconn') { return; } // Make the worker drops the connection, see `rr` and `onconnection` in child.js server.close(); const close = handle.close; handle.close = common.mustCall(() => { close.call(handle, common.mustCall(() => { process.exit(); })); }); })); }