summaryrefslogtreecommitdiff
path: root/src/components/application_manager/include/application_manager
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/include/application_manager')
-rw-r--r--src/components/application_manager/include/application_manager/request_controller.h16
1 files changed, 11 insertions, 5 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 49fa2a7608..479ebb217e 100644
--- a/src/components/application_manager/include/application_manager/request_controller.h
+++ b/src/components/application_manager/include/application_manager/request_controller.h
@@ -216,15 +216,14 @@ class RequestController {
protected:
/**
- * @brief Timer Callback
+ * @brief Timer callback which handles all request timeouts
*/
- void onTimer();
+ void TimeoutThread();
/**
- * @brief Update timout for next OnTimer
- * Not thread safe
+ * @brief Signal timer condition variable
*/
- void UpdateTimer();
+ void NotifyTimer();
void terminateWaitingForExecutionAppRequests(const uint32_t& app_id);
void terminateWaitingForResponseAppRequests(const uint32_t& app_id);
@@ -284,6 +283,13 @@ class RequestController {
*/
timer::Timer timer_;
+ /*
+ * Timer for lock
+ */
+ bool timer_stop_flag_;
+ sync_primitives::Lock timer_lock;
+ sync_primitives::ConditionalVariable timer_condition_;
+
bool is_low_voltage_;
const RequestControlerSettings& settings_;
DISALLOW_COPY_AND_ASSIGN(RequestController);