1 2 3 4 5 6 7 8
use std::sync::{Mutex, OnceLock}; pub fn env_lock() -> std::sync::MutexGuard<'static, ()> { static LOCK: OnceLock<Mutex<()>> = OnceLock::new(); LOCK.get_or_init(|| Mutex::new(())) .lock() .unwrap_or_else(|poison| poison.into_inner()) }