get rid of global module variable - otherwise there will be a race when both database-browser and sync-browser are used

This commit is contained in:
Nikita Sivukhin
2025-09-24 12:01:27 +04:00
parent 57c3d783e1
commit a5c2d5beb7

View File

@@ -42,9 +42,7 @@ function panicWorker(name): never {
throw new Error(`method ${name} must be invoked only from the main thread`);
}
let completeOpfs: any = null;
function mainImports(worker: Worker): BrowserImports {
function mainImports(worker: Worker, completeOpfs: (c: any, r: any) => void): BrowserImports {
return {
is_web_worker(): boolean {
return false;
@@ -410,6 +408,7 @@ function setupWebWorker() {
async function setupMainThread(wasmFile: ArrayBuffer, factory: () => Worker): Promise<any> {
const worker = factory();
let completeOpfs = null;
const __emnapiContext = __emnapiGetDefaultContext()
const __wasi = new __WASI({
version: 'preview1',
@@ -433,7 +432,7 @@ async function setupMainThread(wasmFile: ArrayBuffer, factory: () => Worker): Pr
...importObject.env,
...importObject.napi,
...importObject.emnapi,
...mainImports(worker),
...mainImports(worker, (c, res) => completeOpfs(c, res)),
memory: __sharedMemory,
}
return importObject