diff options
author | Andrii Kalinich <AKalinich@luxoft.com> | 2019-10-24 09:16:27 -0400 |
---|---|---|
committer | Andrii Kalinich <AKalinich@luxoft.com> | 2019-10-24 09:56:54 -0400 |
commit | 32d697135fa021d2cf45366d4ebf0ac9e941accd (patch) | |
tree | af0c770536f1e2c809228dd0abc9a827f5061a7d | |
parent | 06e58a92960d7590657df599be554bf94eda39db (diff) | |
download | sdl_core-32d697135fa021d2cf45366d4ebf0ac9e941accd.tar.gz |
fixup! Synchronize backup and reset policy functionsfix/fix_synchronize_backup_and_reset_functions_in_cache
-rw-r--r-- | src/components/policy/policy_external/src/cache_manager.cc | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/components/policy/policy_external/src/cache_manager.cc b/src/components/policy/policy_external/src/cache_manager.cc index 1c5b5bff6c..18b663469e 100644 --- a/src/components/policy/policy_external/src/cache_manager.cc +++ b/src/components/policy/policy_external/src/cache_manager.cc @@ -3132,10 +3132,6 @@ void CacheManager::BackgroundBackuper::threadMain() { InternalBackup(); } - if (new_data_available_ || stop_flag_) { - continue; - } - { LOG4CXX_DEBUG(logger_, "Backup is done"); sync_primitives::AutoLock auto_lock(backup_done_lock_); @@ -3143,6 +3139,10 @@ void CacheManager::BackgroundBackuper::threadMain() { backup_done_.Broadcast(); } + if (new_data_available_ || stop_flag_) { + continue; + } + LOG4CXX_DEBUG(logger_, "Wait for a next backup"); backup_notifier_.Wait(need_backup_lock_); } @@ -3165,11 +3165,9 @@ void CacheManager::BackgroundBackuper::DoBackup() { void CacheManager::BackgroundBackuper::WaitForBackupIsDone() { LOG4CXX_AUTO_TRACE(logger_); sync_primitives::AutoLock auto_lock(backup_done_lock_); - if (!backup_is_in_progress_) { - return; + if (backup_is_in_progress_) { + backup_done_.Wait(auto_lock); } - - backup_done_.Wait(auto_lock); } EncryptionRequired CacheManager::GetAppEncryptionRequiredFlag( |