diff options
3 files changed, 23 insertions, 2 deletions
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 1b58b20e86..d62fd997a0 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,4 +1,4 @@ -[Delete any non-applicable sections, but we may ask for more information.] +[Delete any non-applicable sections, but we may ask for more information. Please reference the [SmartDeviceLink GitHub Best Practices](https://d83tozu1c8tt6.cloudfront.net/media/resources/SDL_GitHub_BestPractices.pdf) for further instructions on how to enter an issue.] ### Bug Report [Summary] @@ -20,4 +20,4 @@ * Testing Against: [What you tested with to observe this behavior. Proxy, App, HMI etc.] ##### Test Case, Sample Code, and / or Example App -[Paste a link to a PR, gist, or other code that exemplifies this behavior]
\ No newline at end of file +[Paste a link to a PR, gist, or other code that exemplifies this behavior] diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc index 701bb339a1..b4a0d442f0 100644 --- a/src/components/application_manager/src/application_manager_impl.cc +++ b/src/components/application_manager/src/application_manager_impl.cc @@ -933,6 +933,9 @@ void ApplicationManagerImpl::DisconnectCloudApp(ApplicationSharedPtr app) { void ApplicationManagerImpl::RefreshCloudAppInformation() { LOG4CXX_AUTO_TRACE(logger_); + if (is_stopping()) { + return; + } std::vector<std::string> enabled_apps; GetPolicyHandler().GetEnabledCloudApps(enabled_apps); std::vector<std::string>::iterator enabled_it = enabled_apps.begin(); @@ -2824,6 +2827,21 @@ void ApplicationManagerImpl::UnregisterAllApplications() { it = accessor.GetData().begin(); } } + + bool send_pending_update_app_list = false; + { + sync_primitives::AutoLock auto_lock(apps_to_register_list_lock_ptr_); + if (!apps_to_register_.empty()) { + send_pending_update_app_list = true; + apps_to_register_.clear(); + } + } + + // Only send update app list if pending apps were removed. + if (send_pending_update_app_list) { + SendUpdateAppList(); + } + if (is_ignition_off) { resume_controller().OnIgnitionOff(); } diff --git a/src/components/transport_manager/src/cloud/websocket_client_connection.cc b/src/components/transport_manager/src/cloud/websocket_client_connection.cc index 5c9553a970..057e3d7208 100644 --- a/src/components/transport_manager/src/cloud/websocket_client_connection.cc +++ b/src/components/transport_manager/src/cloud/websocket_client_connection.cc @@ -267,6 +267,9 @@ void WebsocketClientConnection::Shutdown() { thread_delegate_->SetShutdown(); write_thread_->join(); delete thread_delegate_; + thread_delegate_ = NULL; + threads::DeleteThread(write_thread_); + write_thread_ = NULL; } if (buffer_.size()) { buffer_.consume(buffer_.size()); |