Skip to content

Commit cd30372

Browse files
committed
Error on wasm worker creation when SAB is not available
This should have been part of emscripten-core#22710
1 parent ff27062 commit cd30372

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/library_wasm_worker.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@ addToLibrary({
137137
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src#unsafe_eval_expressions
138138
$_wasmWorkerBlobUrl: "URL.createObjectURL(new Blob(['onmessage=function(d){onmessage=null;d=d.data;{{{ captureModuleArg() }}}{{{ instantiateWasm() }}}importScripts(d.js);{{{ instantiateModule() }}}d.wasm=d.mem=d.js=0;}'],{type:'application/javascript'}))",
139139
#endif
140-
141140
_emscripten_create_wasm_worker__deps: [
142141
'$_wasmWorkers', '$_wasmWorkersID',
143142
'$_wasmWorkerAppendToQueue', '$_wasmWorkerRunPostMessage',
@@ -156,6 +155,12 @@ if (ENVIRONMENT_IS_WASM_WORKER
156155
addEventListener("message", _wasmWorkerAppendToQueue);
157156
}`,
158157
_emscripten_create_wasm_worker: (stackLowestAddress, stackSize) => {
158+
if (typeof SharedArrayBuffer != 'undefined') {
159+
#if ASSERTIONS
160+
dbg('create_wasm_worker: environment does not support SharedArrayBuffer, wasm workers are not available');
161+
#endif
162+
return 0;
163+
}
159164
let worker = _wasmWorkers[_wasmWorkersID] = new Worker(
160165
#if WASM_WORKERS == 2
161166
// WASM_WORKERS=2 mode embeds .ww.js file contents into the main .js file

0 commit comments

Comments
 (0)