refactor: Replace tokio::spawn with AsyncHandler::spawn for better task management

- Replace direct tokio::spawn calls with AsyncHandler::spawn across multiple modules
- Improves task lifecycle management and error handling consistency
- Affected files:
  - src-tauri/src/cmd/network.rs
  - src-tauri/src/core/core.rs
  - src-tauri/src/core/event_driven_proxy.rs
  - src-tauri/src/enhance/tun.rs
  - src-tauri/src/ipc/logs.rs
  - src-tauri/src/ipc/memory.rs
  - src-tauri/src/ipc/monitor.rs
  - src-tauri/src/ipc/traffic.rs
  - src-tauri/src/utils/network.rs
  - src-tauri/src/utils/resolve.rs

This change provides better control over async task spawning and helps prevent
potential issues with unmanaged background tasks.
This commit is contained in:
Tunglies
2025-08-22 03:41:14 +08:00
parent 02f67961a9
commit e4c243de2d
10 changed files with 29 additions and 16 deletions

View File

@@ -5,7 +5,9 @@ use crate::{
service::{self},
},
ipc::IpcManager,
logging, logging_error, singleton_lazy,
logging, logging_error,
process::AsyncHandler,
singleton_lazy,
utils::{
dirs,
help::{self},
@@ -763,7 +765,7 @@ impl CoreManager {
])
.spawn()?;
tokio::spawn(async move {
AsyncHandler::spawn(move || async move {
while let Some(event) = rx.recv().await {
if let tauri_plugin_shell::process::CommandEvent::Stdout(line) = event {
if let Err(e) = writeln!(log_file, "{}", String::from_utf8_lossy(&line)) {