diff options
| author | David Lönnhager <david.l@mullvad.net> | 2024-03-09 12:33:26 +0100 |
|---|---|---|
| committer | David Lönnhager <dv.lnh.d@gmail.com> | 2024-03-11 13:34:35 +0100 |
| commit | 2adb9d64d4386fd78af58fb97fec092e63937b7e (patch) | |
| tree | e847ed7c8807e48896c5201995a3f5c48a04e633 | |
| parent | 7869cb45e562dd285ed2646fa175742e3d3d187a (diff) | |
| download | mullvadvpn-2adb9d64d4386fd78af58fb97fec092e63937b7e.tar.xz mullvadvpn-2adb9d64d4386fd78af58fb97fec092e63937b7e.zip | |
Don't block when dropping route manager
| -rw-r--r-- | talpid-routing/src/unix/mod.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/talpid-routing/src/unix/mod.rs b/talpid-routing/src/unix/mod.rs index a979b362e0..768000c010 100644 --- a/talpid-routing/src/unix/mod.rs +++ b/talpid-routing/src/unix/mod.rs @@ -331,8 +331,9 @@ impl RouteManager { impl Drop for RouteManager { fn drop(&mut self) { - tokio::task::block_in_place(move || { - tokio::runtime::Handle::current().block_on(self.stop()); - }); + if let Some(tx) = self.manage_tx.take() { + let (done_tx, _) = oneshot::channel(); + let _ = tx.unbounded_send(RouteManagerCommand::Shutdown(done_tx)); + } } } |
