From 4ce7d9f7a92b8531ce8326e3fe6c3c64bf0b8e86 Mon Sep 17 00:00:00 2001 From: huzibaca Date: Sun, 27 Oct 2024 06:32:25 +0800 Subject: [PATCH] feat: macos service installation query, can't avoid it, add service run check, if installation not confirmed, exit automatically after 10 seconds --- src-tauri/src/utils/resolve.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs index 055905b1..68f7b857 100644 --- a/src-tauri/src/utils/resolve.rs +++ b/src-tauri/src/utils/resolve.rs @@ -57,7 +57,25 @@ pub async fn resolve_setup(app: &mut App) { match service::reinstall_service().await { Ok(_) => { log::info!(target:"app", "install service susccess."); + #[cfg(not(target_os = "macos"))] std::thread::sleep(std::time::Duration::from_millis(1000)); + #[cfg(target_os = "macos")] + { + let mut service_runing = false; + for _ in 0..20 { + if service::check_service().await.is_ok() { + service_runing = true; + break; + } else { + log::warn!(target: "app", "service not runing, sleep 500ms and check again."); + std::thread::sleep(std::time::Duration::from_millis(500)); + } + } + if !service_runing { + log::error!(target: "app", "service not runing. exit"); + app.app_handle().exit(-2); + } + } } Err(e) => { log::error!(target: "app", "{e:?}");