From 0fb01dcdfe97646b30aad593be21a255f27574bc Mon Sep 17 00:00:00 2001 From: David Lönnhager Date: Thu, 16 Apr 2026 14:47:23 +0200 Subject: Fix 'mullvad split-tunnel clear' getting stuck Reading from mullvad-exclude's `cgroup.procs` immediately after moving a process to its parent causes it to be moved back to the mullvad-exclude cgroup. This causes 'mullvad split-tunnel clear' to never complete. --- talpid-core/src/split_tunnel/linux/mod.rs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/talpid-core/src/split_tunnel/linux/mod.rs b/talpid-core/src/split_tunnel/linux/mod.rs index 79df04fae6..47c9b702f7 100644 --- a/talpid-core/src/split_tunnel/linux/mod.rs +++ b/talpid-core/src/split_tunnel/linux/mod.rs @@ -218,13 +218,9 @@ impl Inner { /// Removes all PIDs from the Cgroup. fn clear(&mut self) -> Result<(), Error> { - let mut pids = self.list()?; - while !pids.is_empty() { - for pid in pids { - let pid = Pid::from_raw(pid); - self.remove(pid)?; - } - pids = self.list()?; + for pid in self.list()? { + let pid = Pid::from_raw(pid); + self.remove(pid)?; } Ok(()) } -- cgit v1.3-3-g829e