From a15e1dc8e406abcbcf47e15f344bd3a417836350 Mon Sep 17 00:00:00 2001 From: free5gc-org Date: Tue, 8 Mar 2022 01:00:45 +0000 Subject: [PATCH] fix(fsm): execute the event before ExitEvent --- fsm/fsm.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fsm/fsm.go b/fsm/fsm.go index a2b221a..fedadd1 100644 --- a/fsm/fsm.go +++ b/fsm/fsm.go @@ -94,14 +94,14 @@ func (fsm *FSM) SendEvent(state *State, event EventType, args ArgsType) error { if trans, ok := fsm.transitions[key]; ok { logger.FsmLog.Infof("Handle event[%s], transition from [%s] to [%s]", event, trans.From, trans.To) + // event callback + fsm.callbacks[trans.From](state, event, args) + // exit callback if trans.From != trans.To { fsm.callbacks[trans.From](state, ExitEvent, args) } - // event callback - fsm.callbacks[trans.From](state, event, args) - // entry callback if trans.From != trans.To { state.Set(trans.To)