From 1e2124cb99c5902a45ef5f68c7e2ff49ba2286b3 Mon Sep 17 00:00:00 2001 From: Chenx Dust Date: Tue, 3 Feb 2026 11:13:31 +0800 Subject: [PATCH] fix: force set tun fd when received (#1860) --- easytier/src/launcher.rs | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/easytier/src/launcher.rs b/easytier/src/launcher.rs index e4b1f34f..3834a189 100644 --- a/easytier/src/launcher.rs +++ b/easytier/src/launcher.rs @@ -106,25 +106,18 @@ impl EasyTierLauncher { let mut tun_fd_receiver = data.tun_fd.1.lock().unwrap().take().unwrap(); tasks.spawn(async move { - let mut old_tun_fd = None; loop { let Some(tun_fd) = tun_fd_receiver.recv().await.flatten() else { return; }; - // iOS needs to re-setup nic ctx even if the tun fd is the same - if Some(tun_fd) != old_tun_fd || cfg!(target_os = "ios") { - let res = Instance::setup_nic_ctx_for_mobile( - nic_ctx.clone(), - global_ctx.clone(), - peer_mgr.clone(), - peer_packet_receiver.clone(), - tun_fd, - ) - .await; - if res.is_ok() { - old_tun_fd = Some(tun_fd); - } - } + let res = Instance::setup_nic_ctx_for_mobile( + nic_ctx.clone(), + global_ctx.clone(), + peer_mgr.clone(), + peer_packet_receiver.clone(), + tun_fd, + ) + .await; } }); }