From c3ff0c0ab30829e05cae236cb55131cf11a25c71 Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Mon, 27 Oct 2025 12:45:54 -0700 Subject: [PATCH] Fix: initializer race condition causing android to break --- packages/cli/src/build/request.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/build/request.rs b/packages/cli/src/build/request.rs index e062d3060..a84df6ea1 100644 --- a/packages/cli/src/build/request.rs +++ b/packages/cli/src/build/request.rs @@ -4419,9 +4419,16 @@ __wbg_init({{module_or_path: "/{}/{wasm_path}"}}).then((wasm) => {{ use std::fs::{create_dir_all, remove_dir_all}; use std::sync::OnceLock; - static INITIALIZED: OnceLock> = OnceLock::new(); + static PRIMARY_INITIALIZED: OnceLock> = OnceLock::new(); + static SECONDARY_INITIALIZED: OnceLock> = OnceLock::new(); - let success = INITIALIZED.get_or_init(|| { + let initializer = if ctx.is_primary_build() { + &PRIMARY_INITIALIZED + } else { + &SECONDARY_INITIALIZED + }; + + let success = initializer.get_or_init(|| { if ctx.is_primary_build() { _ = remove_dir_all(self.exe_dir()); }