summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Nosach <ANosach@luxoft.com>2015-09-01 15:48:26 +0300
committerArtem Nosach <ANosach@luxoft.com>2015-10-05 11:39:08 +0300
commit8486beb31993be6783e596d7288c8554e1f772d4 (patch)
tree6fb91d3e1405e070f48e6d48be2329a941510e27
parent815630fd46a2ebcfb0207c8f17828934589e782f (diff)
downloadsdl_core-8486beb31993be6783e596d7288c8554e1f772d4.tar.gz
Add auto lock to message observer setter
Related-issue: APPLINK-15781
-rw-r--r--src/components/hmi_message_handler/src/hmi_message_handler_impl.cc17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/components/hmi_message_handler/src/hmi_message_handler_impl.cc b/src/components/hmi_message_handler/src/hmi_message_handler_impl.cc
index 1a19610790..d2e81e708f 100644
--- a/src/components/hmi_message_handler/src/hmi_message_handler_impl.cc
+++ b/src/components/hmi_message_handler/src/hmi_message_handler_impl.cc
@@ -49,13 +49,10 @@ HMIMessageHandlerImpl::HMIMessageHandlerImpl()
}
HMIMessageHandlerImpl::~HMIMessageHandlerImpl() {
- LOG4CXX_INFO(logger_, "HMIMessageHandlerImpl::~HMIMessageHandlerImpl()");
- sync_primitives::AutoLock lock(observer_locker_);
- observer_ = NULL;
- if (!message_adapters_.empty()) {
- LOG4CXX_WARN(logger_, "Not all HMIMessageAdapter have unsubscribed from"
- " HMIMessageHandlerImpl");
- }
+ LOG4CXX_AUTO_TRACE(logger_);
+ messages_to_hmi_.Shutdown();
+ messages_from_hmi_.Shutdown();
+ set_message_observer(NULL);
}
void HMIMessageHandlerImpl::OnMessageReceived(MessageSharedPointer message) {
@@ -74,7 +71,8 @@ void HMIMessageHandlerImpl::SendMessageToHMI(MessageSharedPointer message) {
}
void HMIMessageHandlerImpl::set_message_observer(HMIMessageObserver* observer) {
- LOG4CXX_INFO(logger_, "HMIMessageHandlerImpl::SetMessageObserver()");
+ LOG4CXX_AUTO_TRACE(logger_);
+ sync_primitives::AutoLock lock(observer_locker_);
observer_ = observer;
}
@@ -88,7 +86,8 @@ void HMIMessageHandlerImpl::OnErrorSending(MessageSharedPointer message) {
observer_->OnErrorSending(message);
}
-void HMIMessageHandlerImpl::AddHMIMessageAdapter(HMIMessageAdapter* adapter) {
+void HMIMessageHandlerImpl::AddHMIMessageAdapter(
+ HMIMessageAdapter* adapter) {
LOG4CXX_AUTO_TRACE(logger_);
message_adapters_.insert(adapter);
}