summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcollin <collin@livio.io>2021-04-28 15:47:29 -0400
committercollin <collin@livio.io>2021-04-28 15:47:29 -0400
commit328f322401bc25d62621a557fcbd383c62c88da3 (patch)
tree0176446e53c632f4b95cd46b4ed1c73b9794489c
parent74ea4bb79b6adf00702e68cf5d502bc3def0f285 (diff)
downloadsdl_core-fix/deadlock_connection_handler_observer_lock.tar.gz
reorder shutdown calls to prevent deadlockfix/deadlock_connection_handler_observer_lock
-rw-r--r--src/appMain/life_cycle_impl.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/appMain/life_cycle_impl.cc b/src/appMain/life_cycle_impl.cc
index a14ca1240c..8b67877ac8 100644
--- a/src/appMain/life_cycle_impl.cc
+++ b/src/appMain/life_cycle_impl.cc
@@ -264,15 +264,15 @@ void LifeCycleImpl::StopComponents() {
DCHECK_OR_RETURN_VOID(hmi_handler_);
hmi_handler_->set_message_observer(NULL);
- DCHECK_OR_RETURN_VOID(connection_handler_);
- connection_handler_->set_connection_handler_observer(NULL);
-
DCHECK_OR_RETURN_VOID(protocol_handler_);
protocol_handler_->RemoveProtocolObserver(&(app_manager_->GetRPCHandler()));
DCHECK_OR_RETURN_VOID(app_manager_);
app_manager_->Stop();
+ DCHECK_OR_RETURN_VOID(connection_handler_);
+ connection_handler_->set_connection_handler_observer(NULL);
+
SDL_LOG_INFO("Stopping Protocol Handler");
DCHECK_OR_RETURN_VOID(protocol_handler_);
protocol_handler_->RemoveProtocolObserver(media_manager_);