From d5b76e38aa4b75ebb584b7cc07ff3b5546e684a3 Mon Sep 17 00:00:00 2001 From: James Sturtevant Date: Thu, 23 Feb 2023 10:45:07 -0800 Subject: [PATCH] Fix up windows files Signed-off-by: James Sturtevant --- example/utils.rs | 8 +++----- src/sync/sys/windows/net.rs | 22 ++++++++++------------ 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/example/utils.rs b/example/utils.rs index 33ac74ef..816c430a 100644 --- a/example/utils.rs +++ b/example/utils.rs @@ -1,7 +1,5 @@ #![allow(dead_code)] -use std::fs; use std::io::Result; -use std::path::Path; #[cfg(unix)] pub const SOCK_ADDR: &str = r"unix:///tmp/ttrpc-test"; @@ -15,15 +13,15 @@ pub fn remove_if_sock_exist(sock_addr: &str) -> Result<()> { .strip_prefix("unix://") .expect("socket address is not expected"); - if Path::new(path).exists() { - fs::remove_file(path)?; + if std::path::Path::new(path).exists() { + std::fs::remove_file(path)?; } Ok(()) } #[cfg(windows)] -pub fn remove_if_sock_exist(sock_addr: &str) -> Result<()> { +pub fn remove_if_sock_exist(_sock_addr: &str) -> Result<()> { //todo force close file handle? Ok(()) diff --git a/src/sync/sys/windows/net.rs b/src/sync/sys/windows/net.rs index 955eacf3..a11ff277 100644 --- a/src/sync/sys/windows/net.rs +++ b/src/sync/sys/windows/net.rs @@ -15,6 +15,7 @@ */ use crate::error::Result; +use crate::error::Error; use mio::windows::NamedPipe; @@ -29,7 +30,7 @@ use std::sync::{Arc, Mutex}; use std::{io}; -use windows_sys::Win32::Foundation::{ERROR_NO_DATA, INVALID_HANDLE_VALUE, CloseHandle, GetLastError}; +use windows_sys::Win32::Foundation::{ERROR_NO_DATA, INVALID_HANDLE_VALUE, CloseHandle}; use windows_sys::Win32::Storage::FileSystem::{ FILE_FLAG_FIRST_PIPE_INSTANCE, FILE_FLAG_OVERLAPPED, PIPE_ACCESS_DUPLEX, }; @@ -130,13 +131,13 @@ impl PipeListener { self.first_instance.swap(false, Ordering::SeqCst); } - let h = match unsafe { CreateNamedPipeW(name.as_ptr(), open_mode, PIPE_TYPE_BYTE, PIPE_UNLIMITED_INSTANCES, 65536, 65536, 0, std::ptr::null_mut())} { + match unsafe { CreateNamedPipeW(name.as_ptr(), open_mode, PIPE_TYPE_BYTE, PIPE_UNLIMITED_INSTANCES, 65536, 65536, 0, std::ptr::null_mut())} { INVALID_HANDLE_VALUE => { - return Err(io::Error::last_os_error()); + return Err(io::Error::last_os_error()) } h => { let pipe = unsafe { NamedPipe::from_raw_handle(h as RawHandle) }; - Ok(pipe) + return Ok(pipe) }, }; } @@ -152,9 +153,6 @@ pub struct PipeConnection { poller: Mutex, } -unsafe impl Send for PipeConnection {} -unsafe impl Sync for PipeConnection {} - impl PipeConnection { pub(crate) fn new(h: RawHandle) -> PipeConnection { let mut pipe = unsafe { NamedPipe::from_raw_handle(h as RawHandle) }; @@ -219,14 +217,14 @@ impl PipeConnection { continue; } Err(e) if e.raw_os_error() == Some(ERROR_NO_DATA as i32) => { - return Err(crate::Error::Windows(e.raw_os_error().unwrap())) + return Err(Error::Windows(e.raw_os_error().unwrap())) } Err(e) if e.raw_os_error().is_some() => { - return Err(crate::Error::Windows(e.raw_os_error().unwrap())) + return Err(Error::Windows(e.raw_os_error().unwrap())) } Err(e) => { trace!("Error writing to pipe: {}", e); - return Err(crate::Error::Others(e.to_string())); + return Err(Error::Others(e.to_string())); } } } @@ -236,7 +234,7 @@ impl PipeConnection { let h = self.named_pipe.lock().unwrap().as_raw_handle(); let result = unsafe { CloseHandle(h as isize) }; match result { - 0 => Err(crate::Error::Windows(io::Error::last_os_error())), + 0 => Err(Error::Windows(io::Error::last_os_error().raw_os_error().unwrap())), _ => Ok(()) } } @@ -244,7 +242,7 @@ impl PipeConnection { pub fn shutdown(&self) -> Result<()> { match self.named_pipe.lock().unwrap().disconnect() { Ok(_) => Ok(()), - Err(e) => Err(crate::Error::Others(e.to_string())) + Err(e) => Err(Error::Others(e.to_string())) } } }