node/test/parallel/test-worker-parent-port-ref.js
Ouyang Yadong 3b5c9926e9
worker: remove redundant function call to setupPortReferencing
There is no need to call `setupPortReferencing` in `setupChild`
as which has been called with the same arguments in the `oninit`
prototype method of `MessagePort`.

PR-URL: https://github.com/nodejs/node/pull/22298
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-08-24 00:59:26 +02:00

26 lines
805 B
JavaScript

// Flags: --experimental-worker
'use strict';
const assert = require('assert');
const common = require('../common');
const { isMainThread, parentPort, Worker } = require('worker_threads');
// This test makes sure that we manipulate the references of
// `parentPort` correctly so that any worker threads will
// automatically exit when there are no any other references.
{
if (isMainThread) {
const worker = new Worker(__filename);
worker.on('exit', common.mustCall((code) => {
assert.strictEqual(code, 0);
}), 1);
worker.on('online', common.mustCall());
} else {
const messageCallback = () => {};
parentPort.on('message', messageCallback);
// The thread won't exit if we don't make the 'message' listener off.
parentPort.off('message', messageCallback);
}
}