summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mullvad-daemon/src/lib.rs7
-rw-r--r--mullvad-daemon/src/main.rs7
2 files changed, 14 insertions, 0 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs
index a042cb3a43..945e388999 100644
--- a/mullvad-daemon/src/lib.rs
+++ b/mullvad-daemon/src/lib.rs
@@ -755,6 +755,13 @@ where
mem::drop(event_listener);
mem::drop(rpc_runtime);
+ #[cfg(not(windows))]
+ if let Err(err) = fs::remove_file(mullvad_paths::get_rpc_socket_path()) {
+ if err.kind() != std::io::ErrorKind::NotFound {
+ log::error!("Failed to remove old RPC socket: {}", err);
+ }
+ }
+
if clean_up_target_cache {
let target_cache = cache_dir.join(TARGET_START_STATE_FILE);
let _ = fs::remove_file(target_cache).map_err(|e| {
diff --git a/mullvad-daemon/src/main.rs b/mullvad-daemon/src/main.rs
index 4e055183b9..199fa84152 100644
--- a/mullvad-daemon/src/main.rs
+++ b/mullvad-daemon/src/main.rs
@@ -98,6 +98,13 @@ async fn run_standalone(log_dir: Option<PathBuf>) -> Result<(), String> {
return Err("Another instance of the daemon is already running".to_owned());
}
+ #[cfg(not(windows))]
+ if let Err(err) = tokio::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);
+ }
+ }
+
if !running_as_admin() {
warn!("Running daemon as a non-administrator user, clients might refuse to connect");
}