nodejs/test/parallel/test-worker-terminate-timer...

19 lines
522 B
JavaScript

'use strict';
const common = require('../common');
const { Worker } = require('worker_threads');
// Test that calling .terminate() during a timer callback works fine.
for (const fn of ['setTimeout', 'setImmediate', 'setInterval']) {
const worker = new Worker(`
const { parentPort } = require('worker_threads');
${fn}(() => {
require('worker_threads').parentPort.postMessage({});
while (true);
});`, { eval: true });
worker.on('message', common.mustCallAtLeast(() => {
worker.terminate();
}));
}