'use strict'; require('../common'); const assert = require('assert'); const { Worker } = require('worker_threads'); // Make sure that allocating uninitialized ArrayBuffers in one thread does not // affect the zero-initialization in other threads. const w = new Worker(` const { parentPort } = require('worker_threads'); function post() { const uint32array = new Uint32Array(64); parentPort.postMessage(uint32array.reduce((a, b) => a + b)); } setInterval(post, 0); `, { eval: true }); function allocBuffers() { Buffer.allocUnsafe(32 * 1024 * 1024); } const interval = setInterval(allocBuffers, 0); let messages = 0; w.on('message', (sum) => { assert.strictEqual(sum, 0); if (messages++ === 100) { clearInterval(interval); w.terminate(); } });