summaryrefslogtreecommitdiffhomepage
path: root/talpid-core/src
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2022-01-13 16:22:48 +0100
committerDavid Lönnhager <david.l@mullvad.net>2022-01-18 09:28:38 +0100
commit57c4979b8bfa7128544ea7940a6e6ec7dc9b96b8 (patch)
tree8832429791e48085f2845cb5ec44bf26645ec4d0 /talpid-core/src
parent69d30398025513c9ff719bb35e4dd0419d772d62 (diff)
downloadmullvadvpn-57c4979b8bfa7128544ea7940a6e6ec7dc9b96b8.tar.xz
mullvadvpn-57c4979b8bfa7128544ea7940a6e6ec7dc9b96b8.zip
Remove superfluous channel
Diffstat (limited to 'talpid-core/src')
-rw-r--r--talpid-core/src/tunnel/wireguard/mod.rs43
1 files changed, 12 insertions, 31 deletions
diff --git a/talpid-core/src/tunnel/wireguard/mod.rs b/talpid-core/src/tunnel/wireguard/mod.rs
index 576d37c1ed..404b2dec68 100644
--- a/talpid-core/src/tunnel/wireguard/mod.rs
+++ b/talpid-core/src/tunnel/wireguard/mod.rs
@@ -5,11 +5,7 @@ use super::{tun_provider::TunProvider, TunnelEvent, TunnelMetadata};
use crate::routing::{self, RequiredRoute};
use futures::future::abortable;
#[cfg(windows)]
-use futures::{
- channel::{mpsc, oneshot},
- future::{self, Either},
- StreamExt,
-};
+use futures::{channel::mpsc, StreamExt};
#[cfg(target_os = "linux")]
use lazy_static::lazy_static;
#[cfg(target_os = "linux")]
@@ -94,8 +90,6 @@ pub struct WireguardMonitor {
>,
close_msg_sender: sync_mpsc::Sender<CloseMsg>,
close_msg_receiver: sync_mpsc::Receiver<CloseMsg>,
- #[cfg(target_os = "windows")]
- stop_setup_tx: Option<oneshot::Sender<()>>,
pinger_stop_sender: sync_mpsc::Sender<()>,
_tcp_proxies: Vec<TcpProxy>,
}
@@ -209,16 +203,12 @@ impl WireguardMonitor {
let event_callback = Box::new(on_event.clone());
let (close_msg_sender, close_msg_receiver) = sync_mpsc::channel();
let (pinger_tx, pinger_rx) = sync_mpsc::channel();
- #[cfg(target_os = "windows")]
- let (stop_setup_tx, stop_setup_rx) = oneshot::channel();
let monitor = WireguardMonitor {
runtime: runtime.clone(),
tunnel: Arc::new(Mutex::new(Some(tunnel))),
event_callback,
close_msg_sender,
close_msg_receiver,
- #[cfg(target_os = "windows")]
- stop_setup_tx: Some(stop_setup_tx),
pinger_stop_sender: pinger_tx,
_tcp_proxies: tcp_proxies,
};
@@ -242,22 +232,17 @@ impl WireguardMonitor {
#[cfg(windows)]
{
let iface_close_sender = close_sender.clone();
- let result = match future::select(setup_done_rx.next(), stop_setup_rx).await {
- Either::Left((result, _)) => match result {
- Some(result) => result.map_err(|error| {
- log::error!(
- "{}",
- error.display_chain_with_msg(
- "Failed to configure tunnel interface"
- )
- );
- iface_close_sender
- .send(CloseMsg::SetupError(Error::IpInterfacesError))
- .unwrap_or(())
- }),
- None => Err(()),
- },
- Either::Right(_) => Err(()),
+ let result = match setup_done_rx.next().await {
+ Some(result) => result.map_err(|error| {
+ log::error!(
+ "{}",
+ error.display_chain_with_msg("Failed to configure tunnel interface")
+ );
+ iface_close_sender
+ .send(CloseMsg::SetupError(Error::IpInterfacesError))
+ .unwrap_or(())
+ }),
+ None => Err(()),
};
if result.is_err() {
return;
@@ -423,10 +408,6 @@ impl WireguardMonitor {
Err(_) => Ok(()),
};
- #[cfg(windows)]
- if let Some(stop_tx) = self.stop_setup_tx.take() {
- let _ = stop_tx.send(());
- }
let _ = self.pinger_stop_sender.send(());
self.stop_tunnel();