summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/event_engine/event_dispatcher_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/src/event_engine/event_dispatcher_impl.cc')
-rw-r--r--src/components/application_manager/src/event_engine/event_dispatcher_impl.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/components/application_manager/src/event_engine/event_dispatcher_impl.cc b/src/components/application_manager/src/event_engine/event_dispatcher_impl.cc
index 30b1b83e79..3d294f0035 100644
--- a/src/components/application_manager/src/event_engine/event_dispatcher_impl.cc
+++ b/src/components/application_manager/src/event_engine/event_dispatcher_impl.cc
@@ -44,6 +44,7 @@ EventDispatcherImpl::EventDispatcherImpl() : observers_event_() {}
EventDispatcherImpl::~EventDispatcherImpl() {}
void EventDispatcherImpl::raise_event(const Event& event) {
+ ObserverVector observers;
AutoLock observer_lock(observer_lock_);
{
AutoLock state_lock(state_lock_);
@@ -51,20 +52,19 @@ void EventDispatcherImpl::raise_event(const Event& event) {
// check if event is notification
if (hmi_apis::messageType::notification == event.smart_object_type()) {
const uint32_t notification_correlation_id = 0;
- observers_ = observers_event_[event.id()][notification_correlation_id];
+ observers = observers_event_[event.id()][notification_correlation_id];
}
if (hmi_apis::messageType::response == event.smart_object_type() ||
hmi_apis::messageType::error_response == event.smart_object_type()) {
- observers_ =
+ observers =
observers_event_[event.id()][event.smart_object_correlation_id()];
}
}
- // Call observers
- while (!observers_.empty()) {
- EventObserver* temp = *observers_.begin();
- observers_.erase(observers_.begin());
+ while (!observers.empty()) {
+ EventObserver* temp = *observers.begin();
+ observers.erase(observers.begin());
AutoUnlock unlock_observer(observer_lock);
temp->on_event(event);
}