summaryrefslogtreecommitdiff
path: root/src/components/application_manager/include/application_manager/request_controller.h
diff options
context:
space:
mode:
authorjacobkeeler <jacob.keeler@livioradio.com>2018-05-14 13:55:32 -0400
committerjacobkeeler <jacob.keeler@livioradio.com>2018-05-14 15:57:41 -0400
commit028ca237522c1c1693ca54049cf462a5122598e4 (patch)
tree2c97b81379e45e9bbe4a251e213d07f813305895 /src/components/application_manager/include/application_manager/request_controller.h
parentb33bffd77d428d59612c9fc3267767d21542579d (diff)
downloadsdl_core-028ca237522c1c1693ca54049cf462a5122598e4.tar.gz
Prevent `INVALID_ID`responses from terminating valid requestsfix/event_dispatcher_crash
Diffstat (limited to 'src/components/application_manager/include/application_manager/request_controller.h')
-rw-r--r--src/components/application_manager/include/application_manager/request_controller.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/components/application_manager/include/application_manager/request_controller.h b/src/components/application_manager/include/application_manager/request_controller.h
index d3a5a0b821..c0bae1aac8 100644
--- a/src/components/application_manager/include/application_manager/request_controller.h
+++ b/src/components/application_manager/include/application_manager/request_controller.h
@@ -289,6 +289,13 @@ class RequestController {
*/
std::list<RequestPtr> notification_list_;
+ /**
+ * @brief Map keeping track of how many duplicate messages were sent for a
+ * given correlation id, to prevent early termination of a request
+ */
+ std::map<uint32_t, uint32_t> duplicate_message_count_;
+ sync_primitives::Lock duplicate_message_count_lock_;
+
/*
* timer for checking requests timeout
*/