Files
bun.sh/test/js/node/worker_threads/worker.js
Jérôme Benoit 6a5995e27d test(worker): refactor worker tests (#6732)
* test(worker): refactor worker tests

+ constify variables
+ typing
+ untangle web worker from worker_threads tests
+ cleanup variables namespace

no functional changes on tests

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>

* test: move worker_threads related code to node/worker_threads

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>

* test: move worker tests into workers directory

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>

* refactor: report upstream changes

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>

* refactor: report upstream change

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>

* fix: address review comments

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>

* chore: fix submodule

---------

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
Co-authored-by: dave caruso <me@paperdave.net>
2023-12-06 17:06:11 -08:00

15 lines
493 B
JavaScript

import { isMainThread, parentPort, workerData } from "worker_threads";
if (parentPort === null) throw new Error("worker_threads.parentPort is null");
if (isMainThread) throw new Error("worker_threads.isMainThread is wrong");
parentPort.on("message", m => {
let sharedBufferView = new Int32Array(m.sharedBuffer);
if (workerData instanceof MessagePort) {
workerData.postMessage("done!");
}
Atomics.add(sharedBufferView, 0, 1);
Atomics.notify(sharedBufferView, 0, Infinity);
});