summaryrefslogtreecommitdiffhomepage
path: root/mullvad-api/src
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2024-09-26 09:23:00 +0200
committerDavid Lönnhager <david.l@mullvad.net>2024-09-26 18:14:41 +0200
commit05f241a57db0490f0ec6860abffbfd8ea5064487 (patch)
tree8af25b7e0122ae19908188ca690115206c0fa010 /mullvad-api/src
parent5266cd4827418b0e6cfb62c174884406afa4c2a8 (diff)
downloadmullvadvpn-05f241a57db0490f0ec6860abffbfd8ea5064487.tar.xz
mullvadvpn-05f241a57db0490f0ec6860abffbfd8ea5064487.zip
Fix regression in API timer logic
Diffstat (limited to 'mullvad-api/src')
-rw-r--r--mullvad-api/src/availability.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/mullvad-api/src/availability.rs b/mullvad-api/src/availability.rs
index 339aca8bca..ab3dc406f7 100644
--- a/mullvad-api/src/availability.rs
+++ b/mullvad-api/src/availability.rs
@@ -71,7 +71,7 @@ impl ApiAvailability {
/// Reset task that automatically pauses API requests due inactivity,
/// starting it if it's not currently running.
pub fn reset_inactivity_timer(&self) {
- let mut inner = self.0.lock().unwrap();
+ let mut inner = self.acquire();
log::debug!("Restarting API inactivity check");
inner.stop_inactivity_timer();
let availability_handle = self.clone();
@@ -94,7 +94,7 @@ impl ApiAvailability {
pub fn resume_background(&self) {
let should_reset = {
let mut inner = self.acquire();
- inner.pause_background();
+ inner.resume_background();
inner.inactivity_timer_running()
};
// Note: It is important that we do not hold on to the Mutex when calling `reset_inactivity_timer()`.
@@ -237,6 +237,14 @@ impl ApiAvailabilityState {
}
}
+ fn resume_background(&mut self) {
+ if self.state.pause_background {
+ log::debug!("Resuming background API requests");
+ self.state.pause_background = false;
+ let _ = self.tx.send(self.state);
+ }
+ }
+
fn stop_inactivity_timer(&mut self) {
log::debug!("Stopping API inactivity check");
if let Some(timer) = self.inactivity_timer.take() {