summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-18 13:51:36 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-01-07 16:43:44 +0000
commit7fb1e996188f699b90b6207e1009429d050737cb (patch)
treef7bd82d8439e73cf66b1427cc7c6bf60e607499e
parent5822d57e273ef8db8af79caf52f2d23d0ddb1146 (diff)
downloadmullvadvpn-7fb1e996188f699b90b6207e1009429d050737cb.tar.xz
mullvadvpn-7fb1e996188f699b90b6207e1009429d050737cb.zip
Stop version updater if sending fails
Failure to send means that the receiving end has been closed.
-rw-r--r--mullvad-daemon/src/version_check.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/mullvad-daemon/src/version_check.rs b/mullvad-daemon/src/version_check.rs
index b0cff09aaf..8512c2ca39 100644
--- a/mullvad-daemon/src/version_check.rs
+++ b/mullvad-daemon/src/version_check.rs
@@ -151,7 +151,13 @@ impl<T: From<AppVersionInfo>> Future for VersionUpdater<T> {
log::debug!("Got new version check: {:?}", app_version_info);
self.next_update_time = Instant::now() + UPDATE_INTERVAL;
if app_version_info != self.last_app_version_info {
- self.update_sender.send(app_version_info.clone().into());
+ if let Err(_) = self.update_sender.send(app_version_info.clone().into())
+ {
+ log::warn!(
+ "Version update receiver is closed, stopping version updater"
+ );
+ return Ok(Async::Ready(()));
+ }
self.last_app_version_info = app_version_info;
if let Err(e) = self.write_cache() {
log::error!(