diff options
| author | David Lönnhager <david.l@mullvad.net> | 2024-06-20 12:57:05 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2024-06-20 12:57:05 +0200 |
| commit | 397d094c516802e39a34282bf58a1121b85bcace (patch) | |
| tree | fd1ac359700001f5dc0ee2019a852e5d3b4a249a | |
| parent | 3b659e01e56dfa303c151cfca7ad8fda8b75aed7 (diff) | |
| parent | 4a2b96a2d98db67162ff491548dba3a3930badd9 (diff) | |
| download | mullvadvpn-397d094c516802e39a34282bf58a1121b85bcace.tar.xz mullvadvpn-397d094c516802e39a34282bf58a1121b85bcace.zip | |
Merge branch 'move-socket-cleanup'
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 12 | ||||
| -rw-r--r-- | mullvad-daemon/src/main.rs | 3 |
2 files changed, 5 insertions, 10 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index 0395983d22..3fadfcd814 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -90,8 +90,6 @@ use talpid_types::{ tunnel::{ErrorStateCause, TunnelStateTransition}, ErrorExt, }; -#[cfg(any(target_os = "macos", target_os = "linux"))] -use tokio::fs; use tokio::io; /// Delay between generating a new WireGuard key and reconnecting @@ -926,6 +924,8 @@ where Ok(()) } + /// Destroy daemon safely, by dropping all objects in the correct order, waiting for them to + /// be destroyed, and executing shutdown tasks async fn finalize(self) { let (event_listener, shutdown_tasks, api_runtime, tunnel_state_machine_handle) = self.shutdown(); @@ -937,13 +937,6 @@ where drop(event_listener); drop(api_runtime); - - #[cfg(any(target_os = "macos", target_os = "linux"))] - if let Err(err) = fs::remove_file(mullvad_paths::get_rpc_socket_path()).await { - if err.kind() != std::io::ErrorKind::NotFound { - log::error!("Failed to remove old RPC socket: {}", err); - } - } } /// Shuts down the daemon without shutting down the underlying event listener and the shutdown @@ -965,7 +958,6 @@ where account_manager, .. } = self; - shutdown_tasks.push(Box::pin(target_state.finalize())); shutdown_tasks.push(Box::pin(account_manager.shutdown())); diff --git a/mullvad-daemon/src/main.rs b/mullvad-daemon/src/main.rs index 64396f4f6f..253f804965 100644 --- a/mullvad-daemon/src/main.rs +++ b/mullvad-daemon/src/main.rs @@ -188,6 +188,9 @@ async fn run_standalone(log_dir: Option<PathBuf>) -> Result<(), String> { daemon.run().await.map_err(|e| e.display_chain())?; + #[cfg(not(windows))] + cleanup_old_rpc_socket(mullvad_paths::get_rpc_socket_path()).await; + log::info!("Mullvad daemon is quitting"); thread::sleep(Duration::from_millis(500)); Ok(()) |
