Catch exceptions thrown by is_regular_file (#1179)

This commit is contained in:
Pavel Krymets 2018-08-09 09:45:28 -07:00 committed by GitHub
parent d6f410bf42
commit dd429e9597
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 4 deletions

View File

@ -27,12 +27,20 @@ PollingAppOfflineApplication::CheckAppOffline()
SRWExclusiveLock lock(m_statusLock);
if (ulCurrentTime - m_ulLastCheckTime > c_appOfflineRefreshIntervalMS)
{
m_fAppOfflineFound = is_regular_file(m_appOfflineLocation);
if(m_fAppOfflineFound)
try
{
LOG_IF_FAILED(OnAppOfflineFound());
m_fAppOfflineFound = is_regular_file(m_appOfflineLocation);
if(m_fAppOfflineFound)
{
LOG_IF_FAILED(OnAppOfflineFound());
}
m_ulLastCheckTime = ulCurrentTime;
}
catch (...)
{
// is_regular_file might throw in very rare cases
OBSERVE_CAUGHT_EXCEPTION();
}
m_ulLastCheckTime = ulCurrentTime;
}
}