From f14faa85d239f4760b34da574678171218995467 Mon Sep 17 00:00:00 2001 From: Nikos Fazakis Date: Thu, 29 Dec 2022 14:42:16 +0200 Subject: [PATCH] fix relay mac connections and cleanup --- src/server.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/server.rs b/src/server.rs index 7f9b055dc..9b5ffd57a 100644 --- a/src/server.rs +++ b/src/server.rs @@ -93,6 +93,14 @@ pub fn new() -> ServerPtr { Arc::new(RwLock::new(server)) } +fn mac_wakeup(){ + #[cfg(target_os = "macos")]{ + use std::process::Command; + Command::new("/usr/bin/caffeinate").arg("-u").arg("-t 5").spawn().expect("failed to execute caffeinate"); + println!("wake up macos"); + } +} + async fn accept_connection_(server: ServerPtr, socket: Stream, secure: bool) -> ResultType<()> { let local_addr = socket.local_addr(); drop(socket); @@ -104,11 +112,7 @@ async fn accept_connection_(server: ServerPtr, socket: Stream, secure: bool) -> if let Ok((stream, addr)) = timeout(CONNECT_TIMEOUT, listener.accept()).await? { stream.set_nodelay(true).ok(); let stream_addr = stream.local_addr()?; - if cfg!(target_os = "macos") { - use std::process::Command; - Command::new("/usr/bin/caffeinate").arg("-u").arg("-t 5").spawn().expect("failed to execute caffeinate"); - println!("wake up macos..."); - } + mac_wakeup(); create_tcp_connection(server, Stream::from(stream, stream_addr), addr, secure).await?; } Ok(()) @@ -257,6 +261,7 @@ async fn create_relay_connection_( ..Default::default() }); stream.send(&msg_out).await?; + mac_wakeup(); create_tcp_connection(server, stream, peer_addr, secure).await?; Ok(()) }