diff options
| author | David Lönnhager <david.l@mullvad.net> | 2024-09-26 09:23:00 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2024-09-26 18:14:41 +0200 |
| commit | 05f241a57db0490f0ec6860abffbfd8ea5064487 (patch) | |
| tree | 8af25b7e0122ae19908188ca690115206c0fa010 /mullvad-api/src | |
| parent | 5266cd4827418b0e6cfb62c174884406afa4c2a8 (diff) | |
| download | mullvadvpn-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.rs | 12 |
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() { |
