mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
6a2dde579c
PR-URL: https://github.com/nodejs/node/pull/26083 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
30 lines
703 B
JavaScript
30 lines
703 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const { Worker } = require('worker_threads');
|
|
|
|
// Test that calling worker.unref() leads to 'beforeExit' being emitted, and
|
|
// that we can resurrect the worker using worker.ref() from there.
|
|
|
|
const w = new Worker(`
|
|
const { parentPort } = require('worker_threads');
|
|
parentPort.once('message', (msg) => {
|
|
parentPort.postMessage(msg);
|
|
});
|
|
`, { eval: true });
|
|
|
|
process.once('beforeExit', common.mustCall(() => {
|
|
console.log('beforeExit');
|
|
w.ref();
|
|
w.postMessage({ hello: 'world' });
|
|
}));
|
|
|
|
w.once('message', common.mustCall((msg) => {
|
|
console.log('message', msg);
|
|
}));
|
|
|
|
w.on('exit', common.mustCall(() => {
|
|
console.log('exit');
|
|
}));
|
|
|
|
w.unref();
|