diff options
| author | David Lönnhager <david.l@mullvad.net> | 2022-03-15 15:57:40 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2022-03-15 15:57:40 +0100 |
| commit | 5492fab7aaaf0bccff0a4019183db33160ed6d0d (patch) | |
| tree | 3ddc17fd5f962663f2b2dea587668f381898b9a8 | |
| parent | 787311702ceca9dce7fdc553afcb4b63c9c3a8ca (diff) | |
| parent | 39533167d717ee74264327ef2987516f54674118 (diff) | |
| download | mullvadvpn-5492fab7aaaf0bccff0a4019183db33160ed6d0d.tar.xz mullvadvpn-5492fab7aaaf0bccff0a4019183db33160ed6d0d.zip | |
Merge branch 'win-fix-route-race'
| -rw-r--r-- | windows/winnet/src/winnet/routing/defaultroutemonitor.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/windows/winnet/src/winnet/routing/defaultroutemonitor.cpp b/windows/winnet/src/winnet/routing/defaultroutemonitor.cpp index 9b063de850..523c2d7ba0 100644 --- a/windows/winnet/src/winnet/routing/defaultroutemonitor.cpp +++ b/windows/winnet/src/winnet/routing/defaultroutemonitor.cpp @@ -29,13 +29,7 @@ DefaultRouteMonitor::DefaultRouteMonitor TWO_SECOND_INTERFERENCE )) { - try - { - m_bestRoute = GetBestDefaultRoute(m_family); - } - catch (...) - { - } + std::scoped_lock<std::mutex> lock(m_evaluationLock); auto status = NotifyRouteChange2(AF_UNSPEC, RouteChangeCallback, this, FALSE, &m_routeNotificationHandle); @@ -52,6 +46,14 @@ DefaultRouteMonitor::DefaultRouteMonitor CancelMibChangeNotify2(m_routeNotificationHandle); THROW_WINDOWS_ERROR(status, "Register for network interface change notifications"); } + + try + { + m_bestRoute = GetBestDefaultRoute(m_family); + } + catch (...) + { + } } DefaultRouteMonitor::~DefaultRouteMonitor() |
