summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2019-03-17 12:26:41 -0400
committerGitHub <noreply@github.com>2019-03-17 12:26:41 -0400
commit79503c9389855137c4a14d5f9d9c153ec1d87a0d (patch)
treeee168cd802b930ccfcc01d89566e7b5ec0fefa88
parente7f0a154db09d5433fe81b4d25254ef05aaf0c74 (diff)
parenta40f522db248338912f4bc702cee8577e8498d27 (diff)
downloadsdl_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.cc18
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();
}