diff options
author | JackLivio <jack@livio.io> | 2019-03-17 12:26:41 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-17 12:26:41 -0400 |
commit | 79503c9389855137c4a14d5f9d9c153ec1d87a0d (patch) | |
tree | ee168cd802b930ccfcc01d89566e7b5ec0fefa88 | |
parent | e7f0a154db09d5433fe81b4d25254ef05aaf0c74 (diff) | |
parent | a40f522db248338912f4bc702cee8577e8498d27 (diff) | |
download | sdl_core-79503c9389855137c4a14d5f9d9c153ec1d87a0d.tar.gz |
Merge pull request #2849 from smartdevicelink/fix/remove_pending_cloud_apps_at_shutdown
Remove pending cloud apps at shutdown
-rw-r--r-- | src/components/application_manager/src/application_manager_impl.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index 701bb339a1..b4a0d442f0 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -933,6 +933,9 @@ void ApplicationManagerImpl::DisconnectCloudApp(ApplicationSharedPtr app) { void ApplicationManagerImpl::RefreshCloudAppInformation() { LOG4CXX_AUTO_TRACE(logger_); + if (is_stopping()) { + return; + } std::vector<std::string> enabled_apps; GetPolicyHandler().GetEnabledCloudApps(enabled_apps); std::vector<std::string>::iterator enabled_it = enabled_apps.begin(); @@ -2824,6 +2827,21 @@ void ApplicationManagerImpl::UnregisterAllApplications() { it = accessor.GetData().begin(); } } + + bool send_pending_update_app_list = false; + { + sync_primitives::AutoLock auto_lock(apps_to_register_list_lock_ptr_); + if (!apps_to_register_.empty()) { + send_pending_update_app_list = true; + apps_to_register_.clear(); + } + } + + // Only send update app list if pending apps were removed. + if (send_pending_update_app_list) { + SendUpdateAppList(); + } + if (is_ignition_off) { resume_controller().OnIgnitionOff(); } |