summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2019-12-19 11:18:22 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-01-07 16:43:44 +0000
commit58c33ca12806f7ffb6a16e45a36d7aa1d1ef4522 (patch)
tree4370c3d9459c0c9cacde20a4d87a73a12bd9b943
parent0075e5c13f35431631bf4561733e8e3842925dc2 (diff)
downloadmullvadvpn-58c33ca12806f7ffb6a16e45a36d7aa1d1ef4522.tar.xz
mullvadvpn-58c33ca12806f7ffb6a16e45a36d7aa1d1ef4522.zip
Stop version updater if receiving end is closed
Perform an early check to see if the receiving end is still open.
-rw-r--r--mullvad-daemon/src/version_check.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/mullvad-daemon/src/version_check.rs b/mullvad-daemon/src/version_check.rs
index 920e79d188..45352d3e2d 100644
--- a/mullvad-daemon/src/version_check.rs
+++ b/mullvad-daemon/src/version_check.rs
@@ -124,6 +124,10 @@ impl<T: From<AppVersionInfo>> Future for VersionUpdater<T> {
fn poll(&mut self) -> Poll<Self::Item, Self::Error> {
loop {
+ if self.update_sender.is_closed() {
+ log::warn!("Version update receiver is closed, stopping version updater");
+ return Ok(Async::Ready(()));
+ }
let next_state = match &mut self.state {
VersionUpdaterState::Sleeping(timer) => match timer.poll() {
Ok(Async::NotReady) => return Ok(Async::NotReady),