'use strict'; const common = require('../common'); const assert = require('assert'); const { Worker, isMainThread } = require('worker_threads'); if (isMainThread) { const workerData = new Int32Array(new SharedArrayBuffer(4)); new Worker(__filename, { workerData, }); process.on('beforeExit', common.mustCall(() => { assert.strictEqual(workerData[0], 0); })); } else { const { workerData } = require('worker_threads'); try { process.exit(); throw new Error('xxx'); // eslint-disable-next-line no-unused-vars } catch (err) { workerData[0] = 1; } }