fix: manage setup Mutex crash (#3995)

* Revert "Revert "refactor: Replace std::sync::Mutex with parking_lot::Mutex for improved performance and consistency in multiple files" (#3990)"

This reverts commit 667844aa12.

* refactor: Manage lightweight state in the app setup and clean up unused proxy client code

* refactor: Move macOS-specific Manager import under conditional compilation
This commit is contained in:
Tunglies
2025-07-06 02:14:48 +08:00
committed by GitHub
parent 667844aa12
commit ac3afe4dee
4 changed files with 27 additions and 135 deletions

View File

@@ -8,7 +8,8 @@ pub fn use_script(
name: String,
) -> Result<(Mapping, Vec<(String, String)>)> {
use boa_engine::{native_function::NativeFunction, Context, JsValue, Source};
use std::sync::{Arc, Mutex};
use parking_lot::Mutex;
use std::sync::Arc;
let mut context = Context::default();
let outputs = Arc::new(Mutex::new(vec![]));
@@ -24,7 +25,7 @@ pub fn use_script(
let level = level.to_std_string().unwrap();
let data = args.get(1).unwrap().to_string(context)?;
let data = data.to_std_string().unwrap();
let mut out = copy_outputs.lock().unwrap();
let mut out = copy_outputs.lock();
out.push((level, data));
Ok(JsValue::undefined())
},
@@ -67,7 +68,7 @@ pub fn use_script(
// 直接解析JSON结果,不做其他解析
let res: Result<Mapping, Error> = parse_json_safely(&result);
let mut out = outputs.lock().unwrap();
let mut out = outputs.lock();
match res {
Ok(config) => Ok((use_lowercase(config), out.to_vec())),
Err(err) => {