28 lines
780 B
JavaScript
28 lines
780 B
JavaScript
|
'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();
|