• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2const common = require('../common');
3const assert = require('assert');
4const { Worker, isMainThread } = require('worker_threads');
5
6if (isMainThread) {
7  const workerData = new Int32Array(new SharedArrayBuffer(4));
8  new Worker(__filename, {
9    workerData,
10  });
11  process.on('beforeExit', common.mustCall(() => {
12    assert.strictEqual(workerData[0], 0);
13  }));
14} else {
15  const { workerData } = require('worker_threads');
16  try {
17    process.exit();
18    throw new Error('xxx');
19    // eslint-disable-next-line no-unused-vars
20  } catch (err) {
21    workerData[0] = 1;
22  }
23}
24