From 2e9a1d6e0e5ee91c343a94c2a45993eae008faa6 Mon Sep 17 00:00:00 2001 From: coso Date: Thu, 8 Jan 2026 16:45:04 +0800 Subject: [PATCH] fix: use parking_lot::Mutex instead of std::sync::Mutex in wsl_connection The WSLShellProc struct uses parking_lot::Mutex, so we need to use the same type when creating writer and master instances. Co-Authored-By: Claude Opus 4.5 --- src-tauri/src/terminal/connections/wsl_connection.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src-tauri/src/terminal/connections/wsl_connection.rs b/src-tauri/src/terminal/connections/wsl_connection.rs index 956df9936..74560b195 100644 --- a/src-tauri/src/terminal/connections/wsl_connection.rs +++ b/src-tauri/src/terminal/connections/wsl_connection.rs @@ -20,8 +20,6 @@ use std::sync::Arc; #[cfg(target_os = "windows")] use std::io::{Read, Write}; -#[cfg(target_os = "windows")] -use std::sync::Mutex; use parking_lot::RwLock; use serde::{Deserialize, Serialize}; @@ -686,8 +684,8 @@ impl WSLShellProc { let shutdown_flag = Arc::new(AtomicBool::new(false)); let exit_code = Arc::new(AtomicI32::new(0)); let exited = Arc::new(AtomicBool::new(false)); - let writer = Arc::new(Mutex::new(writer)); - let master = Arc::new(Mutex::new(pair.master)); + let writer = Arc::new(parking_lot::Mutex::new(writer)); + let master = Arc::new(parking_lot::Mutex::new(pair.master)); // 启动输出读取任务 Self::spawn_output_reader( @@ -894,8 +892,8 @@ impl WSLShellProc { #[cfg(target_os = "windows")] fn spawn_input_handler( block_id: String, - writer: Arc>>, - master: Arc>>, + writer: Arc>>, + master: Arc>>, mut input_rx: mpsc::Receiver, shutdown_flag: Arc, ) {