diff options
author | Andrey Oleynik <AOleynik@luxoft.com> | 2014-07-16 12:15:55 +0300 |
---|---|---|
committer | Andrey Oleynik <AOleynik@luxoft.com> | 2014-07-16 12:15:55 +0300 |
commit | a59703336fce87691a6308b212eb9db9819b55bc (patch) | |
tree | 566228a40a2f6cf58790cdbf3bf0e519ea082c61 | |
parent | 04e0bf1ae4575d9bf7e5a785313e328ecc526608 (diff) | |
download | smartdevicelink-a59703336fce87691a6308b212eb9db9819b55bc.tar.gz |
APPLINK-8147. Added more detailed report on policy init fail.SNAPSHOT_PASA16072014
6 files changed, 15 insertions, 7 deletions
diff --git a/customer-specific/pasa/src/appMain/SmartDeviceLinkMainApp.cpp b/customer-specific/pasa/src/appMain/SmartDeviceLinkMainApp.cpp index e6b4ce4b6..01d953892 100644 --- a/customer-specific/pasa/src/appMain/SmartDeviceLinkMainApp.cpp +++ b/customer-specific/pasa/src/appMain/SmartDeviceLinkMainApp.cpp @@ -89,7 +89,10 @@ void startSmartDeviceLink() }
- main_namespace::LifeCycle::instance()->StartComponents();
+ if (!main_namespace::LifeCycle::instance()->StartComponents()) {
+ LOG4CXX_INFO(logger, "StartComponents failed.");
+ exit(EXIT_FAILURE);
+ }
// --------------------------------------------------------------------------
// Third-Party components initialization.
diff --git a/src/appMain/life_cycle.cc b/src/appMain/life_cycle.cc index 874431b08..d4d7455a5 100644 --- a/src/appMain/life_cycle.cc +++ b/src/appMain/life_cycle.cc @@ -110,7 +110,9 @@ bool LifeCycle::StartComponents() { app_manager_ = application_manager::ApplicationManagerImpl::instance(); DCHECK(app_manager_ != NULL); - app_manager_->Init(); + if (!app_manager_->Init()) { + return false; + } hmi_handler_ = hmi_message_handler::HMIMessageHandlerImpl::instance(); diff --git a/src/components/application_manager/include/application_manager/application_manager.h b/src/components/application_manager/include/application_manager/application_manager.h index b5e5e472b..6ca85a5d3 100644 --- a/src/components/application_manager/include/application_manager/application_manager.h +++ b/src/components/application_manager/include/application_manager/application_manager.h @@ -57,7 +57,7 @@ class ApplicationManager { /** * Inits application manager */ - virtual void Init() = 0; + virtual bool Init() = 0; /** * @brief Stop work. diff --git a/src/components/application_manager/include/application_manager/application_manager_impl.h b/src/components/application_manager/include/application_manager/application_manager_impl.h index 71f0baa06..979e37d36 100644 --- a/src/components/application_manager/include/application_manager/application_manager_impl.h +++ b/src/components/application_manager/include/application_manager/application_manager_impl.h @@ -183,7 +183,7 @@ class ApplicationManagerImpl : public ApplicationManager, /** * Inits application manager */ - virtual void Init(); + virtual bool Init(); /** * @brief Stop work. diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index 84e70c18b..d03b2a986 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -1323,12 +1323,14 @@ bool ApplicationManagerImpl::ManageHMICommand( return false; } -void ApplicationManagerImpl::Init() { +bool ApplicationManagerImpl::Init() { LOG4CXX_TRACE(logger_, "Init application manager"); + bool init_result = true; if (policy_manager_) { LOG4CXX_INFO(logger_, "Policy library is loaded, now initing PT"); - DCHECK(policy::PolicyHandler::instance()->InitPolicyTable()); + init_result = policy::PolicyHandler::instance()->InitPolicyTable(); } + return init_result; } bool ApplicationManagerImpl::ConvertMessageToSO( diff --git a/src/components/utils/src/system.cc b/src/components/utils/src/system.cc index fbba24c6c..078a67c33 100644 --- a/src/components/utils/src/system.cc +++ b/src/components/utils/src/system.cc @@ -88,7 +88,8 @@ bool System::Execute(bool wait) { delete[] argv; if (ret == -1) { - LOG4CXX_ERROR(logger_, "Can't execute command: " << command_); + LOG4CXX_ERROR(logger_, "Can't execute command: " << command_ + << " Errno is: " << std::strerror(errno)); return false; } |