summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2024-06-19 20:34:00 +0200
committerDavid Lönnhager <david.l@mullvad.net>2024-06-20 10:19:02 +0200
commit4a2b96a2d98db67162ff491548dba3a3930badd9 (patch)
treefd1ac359700001f5dc0ee2019a852e5d3b4a249a
parent3b659e01e56dfa303c151cfca7ad8fda8b75aed7 (diff)
downloadmullvadvpn-4a2b96a2d98db67162ff491548dba3a3930badd9.tar.xz
mullvadvpn-4a2b96a2d98db67162ff491548dba3a3930badd9.zip
Move UDS cleanup out of Daemon
-rw-r--r--mullvad-daemon/src/lib.rs12
-rw-r--r--mullvad-daemon/src/main.rs3
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(())