diff options
| author | David Lönnhager <david.l@mullvad.net> | 2021-09-28 12:57:42 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2021-09-28 12:57:42 +0200 |
| commit | 43f5b31ded670f76d0721bc8aabae5972ecec17c (patch) | |
| tree | 1e82fed8e964fe350ed0e029dc118da1003a9178 | |
| parent | 827d95c831f9ef8de4b419a6f7913377a20e8cf9 (diff) | |
| parent | 0b2031d22d655fe0936b9d50e54910b9f3ec3dbc (diff) | |
| download | mullvadvpn-43f5b31ded670f76d0721bc8aabae5972ecec17c.tar.xz mullvadvpn-43f5b31ded670f76d0721bc8aabae5972ecec17c.zip | |
Merge branch 'fix-reconnect-task'
| -rw-r--r-- | mullvad-daemon/src/lib.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mullvad-daemon/src/lib.rs b/mullvad-daemon/src/lib.rs index bde37e85fb..a7493f1d82 100644 --- a/mullvad-daemon/src/lib.rs +++ b/mullvad-daemon/src/lib.rs @@ -1151,12 +1151,16 @@ where } async fn schedule_reconnect(&mut self, delay: Duration) { + self.unschedule_reconnect(); + let tunnel_command_tx = self.tx.to_specialized_sender(); let (future, abort_handle) = abortable(Box::pin(async move { tokio::time::sleep(delay).await; log::debug!("Attempting to reconnect"); - let (tx, _) = oneshot::channel(); + let (tx, rx) = oneshot::channel(); let _ = tunnel_command_tx.send(DaemonCommand::Reconnect(tx)); + // suppress "unable to send" warning: + let _ = rx.await; })); tokio::spawn(future); |
