diff options
author | JackLivio <jack@livio.io> | 2019-03-16 14:17:41 -0400 |
---|---|---|
committer | JackLivio <jack@livio.io> | 2019-03-16 14:17:41 -0400 |
commit | a40f522db248338912f4bc702cee8577e8498d27 (patch) | |
tree | 4a3f7266db3df152b28363502812e68c3b0c3bb3 | |
parent | b5f59bac3c0dc5b57230d512c303f287948bea2c (diff) | |
download | sdl_core-a40f522db248338912f4bc702cee8577e8498d27.tar.gz |
Remove pending cloud apps at shutdownfix/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(); } |