%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
// Flags: --debug-arraybuffer-allocations 'use strict'; const common = require('../common'); const assert = require('assert'); const { Worker } = require('worker_threads'); // Regression test for https://github.com/nodejs/node/issues/28777 // Make sure that SharedArrayBuffers and transferred ArrayBuffers created in // Worker threads are accessible after the creating thread ended. for (const ctor of ['ArrayBuffer', 'SharedArrayBuffer']) { const w = new Worker(` const { parentPort } = require('worker_threads'); const arrayBuffer = new ${ctor}(4); parentPort.postMessage( arrayBuffer, '${ctor}' === 'SharedArrayBuffer' ? [] : [arrayBuffer]); `, { eval: true }); let arrayBuffer; w.once('message', common.mustCall((message) => arrayBuffer = message)); w.once('exit', common.mustCall(() => { assert.strictEqual(arrayBuffer.constructor.name, ctor); const uint8array = new Uint8Array(arrayBuffer); uint8array[0] = 42; assert.deepStrictEqual(uint8array, new Uint8Array([42, 0, 0, 0])); })); }