%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: --expose-gc 'use strict'; const common = require('../common'); const assert = require('assert'); const { Worker } = require('worker_threads'); { const sharedArrayBuffer = new SharedArrayBuffer(12); const local = Buffer.from(sharedArrayBuffer); const w = new Worker(` const { parentPort } = require('worker_threads'); parentPort.on('message', ({ sharedArrayBuffer }) => { const local = Buffer.from(sharedArrayBuffer); local.write('world!', 6); parentPort.postMessage('written!'); }); `, { eval: true }); w.on('message', common.mustCall(() => { assert.strictEqual(local.toString(), 'Hello world!'); global.gc(); w.terminate(); })); w.postMessage({ sharedArrayBuffer }); // This would be a race condition if the memory regions were overlapping local.write('Hello '); }