blob: 3807501de025f047f04bab4d99c3cd40b0485a88 [file] [log] [blame] [edit]
'use strict';
const common = require('../common');
const assert = require('assert');
const { Worker } = require('worker_threads');
// Test that calling worker.terminate() if kHandler is null should return an
// empty promise that resolves to undefined, even when a callback is passed
const worker = new Worker(`
const { parentPort } = require('worker_threads');
parentPort.postMessage({ hello: 'world' });
`, { eval: true });
process.once('beforeExit', common.mustCall(() => {
console.log('beforeExit');
worker.ref();
}));
worker.on('exit', common.mustCall(() => {
console.log('exit');
worker.terminate().then((res) => assert.strictEqual(res, undefined));
worker.terminate(() => null).then(
(res) => assert.strictEqual(res, undefined)
);
}));
worker.unref();