Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 792335f

Browse filesBrowse files
Fishrock123targos
authored andcommitted
test: add workerdata-sharedarraybuffer test
This functionality works but was previously untested. PR-URL: #21180 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Minwoo Jung <minwoo@nodesource.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent e8d15cb commit 792335f
Copy full SHA for 792335f

File tree

Expand file treeCollapse file tree

1 file changed

+32
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+32
-0
lines changed
Open diff view settings
Collapse file
+32Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Flags: --expose-gc --experimental-worker
2+
'use strict';
3+
4+
const common = require('../common');
5+
const assert = require('assert');
6+
const { Worker } = require('worker_threads');
7+
8+
{
9+
const sharedArrayBuffer = new SharedArrayBuffer(12);
10+
const local = Buffer.from(sharedArrayBuffer);
11+
12+
const w = new Worker(`
13+
const { parentPort, workerData } = require('worker_threads');
14+
const local = Buffer.from(workerData.sharedArrayBuffer);
15+
16+
parentPort.on('message', () => {
17+
local.write('world!', 6);
18+
parentPort.postMessage('written!');
19+
});
20+
`, {
21+
eval: true,
22+
workerData: { sharedArrayBuffer }
23+
});
24+
w.on('message', common.mustCall(() => {
25+
assert.strictEqual(local.toString(), 'Hello world!');
26+
global.gc();
27+
w.terminate();
28+
}));
29+
w.postMessage({});
30+
// This would be a race condition if the memory regions were overlapping
31+
local.write('Hello ');
32+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.