summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Klimenko <dklimenko@luxoft.com>2014-09-08 05:18:21 -0700
committerDmitriy Klimenko <dklimenko@luxoft.com>2014-09-08 05:19:09 -0700
commit26b1796254bec702e970c7491cf127570fa04a6c (patch)
tree32c3a7c637d0161eda2dad0813d448b4921e66cc
parentb61c387b548e1a6277cb79bb2404c519c68793e8 (diff)
downloadsdl_core-26b1796254bec702e970c7491cf127570fa04a6c.tar.gz
APPLINK-9086: SDL ignition off core if 100 choices were created fixSDL_RB_CW37
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc
index 8d6c0869bb..fd5fb9d852 100644
--- a/src/components/application_manager/src/application_manager_impl.cc
+++ b/src/components/application_manager/src/application_manager_impl.cc
@@ -1902,6 +1902,8 @@ void ApplicationManagerImpl::UnregisterApplication(
LOG4CXX_INFO(logger_,
"ApplicationManagerImpl::UnregisterApplication " << app_id);
+ sync_primitives::AutoLock lock(applications_list_lock_);
+
switch (reason) {
case mobile_apis::Result::SUCCESS:break;
case mobile_apis::Result::DISALLOWED: break;
@@ -1919,23 +1921,14 @@ void ApplicationManagerImpl::UnregisterApplication(
}
ApplicationSharedPtr app_to_remove;
- {
- sync_primitives::AutoLock lock(applications_list_lock_);
-
- std::set<ApplicationSharedPtr>::const_iterator it = application_list_.begin();
- for (; it != application_list_.end(); ++it) {
- if ((*it)->app_id() == app_id) {
- app_to_remove = *it;
- break;
- }
+ std::set<ApplicationSharedPtr>::const_iterator it = application_list_.begin();
+ for (; it != application_list_.end(); ++it) {
+ if ((*it)->app_id() == app_id) {
+ app_to_remove = *it;
+ break;
}
- application_list_.erase(app_to_remove);
- }
-
- if (!app_to_remove) {
- LOG4CXX_INFO(logger_, "Application is already unregistered.");
- return;
}
+ application_list_.erase(app_to_remove);
if (is_resuming) {
resume_ctrl_.SaveApplication(app_to_remove);