From 5f9731c47eb1ca5e5a970a9400464b22a7bacca3 Mon Sep 17 00:00:00 2001 From: Bin Qian Date: Tue, 16 Oct 2018 08:59:04 -0400 Subject: [PATCH] Fix service groups on controller-1 stuck in initial Initialize fail-pending timer id. Also deregister the timer when program exits. Closes-Bug: 1797567 Change-Id: Ief278dfff1185a6acea718b683da11934a192161 Signed-off-by: Bin Qian --- .../sm-1.0.0/src/sm_failover_fail_pending_state.cpp | 10 ++++++++++ .../sm-1.0.0/src/sm_failover_fail_pending_state.h | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/service-mgmt/sm-1.0.0/src/sm_failover_fail_pending_state.cpp b/service-mgmt/sm-1.0.0/src/sm_failover_fail_pending_state.cpp index 524c9878..aadd088e 100644 --- a/service-mgmt/sm-1.0.0/src/sm_failover_fail_pending_state.cpp +++ b/service-mgmt/sm-1.0.0/src/sm_failover_fail_pending_state.cpp @@ -17,6 +17,16 @@ static const int FAIL_PENDING_TIMEOUT = 2000; //2000ms +SmFailoverFailPendingState::SmFailoverFailPendingState(SmFailoverFSM& fsm) : SmFSMState(fsm) +{ + this->_pending_timer_id = SM_TIMER_ID_INVALID; +} + +SmFailoverFailPendingState::~SmFailoverFailPendingState() +{ + this->_deregister_timer(); +} + SmErrorT SmFailoverFailPendingState::event_handler(SmFailoverEventT event, const ISmFSMEventData* event_data) { //SmFSMEventDataTypeT event_data_type = event_data->get_event_data_type(); diff --git a/service-mgmt/sm-1.0.0/src/sm_failover_fail_pending_state.h b/service-mgmt/sm-1.0.0/src/sm_failover_fail_pending_state.h index 69befd13..7b2c7fe4 100644 --- a/service-mgmt/sm-1.0.0/src/sm_failover_fail_pending_state.h +++ b/service-mgmt/sm-1.0.0/src/sm_failover_fail_pending_state.h @@ -12,7 +12,8 @@ class SmFailoverFailPendingState : public SmFSMState { public: - SmFailoverFailPendingState(SmFailoverFSM& fsm) : SmFSMState(fsm){} + SmFailoverFailPendingState(SmFailoverFSM& fsm); + virtual ~SmFailoverFailPendingState(); SmErrorT enter_state(); SmErrorT exit_state();