diff options
| -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() |
