From e0d919ed4a7d4d3d420f7afe7b4247b9f0c7bf87 Mon Sep 17 00:00:00 2001 From: Joseph Montanaro Date: Mon, 9 Oct 2023 16:29:41 -0700 Subject: [PATCH] fix Windows pipe server --- src-tauri/src/server/server_win.rs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src-tauri/src/server/server_win.rs b/src-tauri/src/server/server_win.rs index 07dd7ca..a9439e0 100644 --- a/src-tauri/src/server/server_win.rs +++ b/src-tauri/src/server/server_win.rs @@ -1,11 +1,10 @@ -use tokio::{ - net::windows::named_pipe::{ - NamedPipeServer, - ServerOptions, - }, - sync::oneshot, +use tokio::net::windows::named_pipe::{ + NamedPipeServer, + ServerOptions, }; +use tauri::{AppHandle, Manager}; + use windows::Win32:: { Foundation::HANDLE, System::Pipes::GetNamedPipeClientProcessId, @@ -52,11 +51,11 @@ impl Server { // create a new pipe instance to listen for the next client, and swap it in let new_listener = ServerOptions::new().create(r"\\.\pipe\creddy-requests")?; - let mut stream = std::mem::replace(&mut self.listener, new_listener); + let stream = std::mem::replace(&mut self.listener, new_listener); let new_handle = self.app_handle.app_handle(); let client_pid = get_client_pid(&stream)?; rt::spawn(async move { - super::handle(stream, app_handle) + super::handle(stream, new_handle, client_pid) .await .error_print_prefix("Error responding to request: "); }); @@ -71,5 +70,5 @@ fn get_client_pid(pipe: &NamedPipeServer) -> Result { let mut pid = 0u32; let handle = HANDLE(raw_handle as _); unsafe { GetNamedPipeClientProcessId(handle, &mut pid as *mut u32)? }; - pid + Ok(pid) }