mirror of https://gerrit.osmocom.org/libosmocore
fsm: Re-set fsm_inst->T to 0 after timer expiration
If the user starts the FSM timer with a given timer number during fsm_inst_state_chg() with a timeout, we should remove that "T" number after timer expiration. Otherwise it might be confusing if e.g. the VTY interface shows FSM instances with a certain timer number assigned, but that timer is not actually running anymore. Change-Id: I71167ec1000dc4c6954d851d3b92f6bf12984925
This commit is contained in:
parent
4585e6755d
commit
9e83c3d5ca
|
@ -178,13 +178,16 @@ static void fsm_tmr_cb(void *data)
|
|||
|
||||
if (fsm->timer_cb) {
|
||||
int rc = fsm->timer_cb(fi);
|
||||
if (rc != 1)
|
||||
if (rc != 1) {
|
||||
fi->T = 0;
|
||||
return;
|
||||
}
|
||||
LOGPFSM(fi, "timer_cb requested termination\n");
|
||||
} else
|
||||
LOGPFSM(fi, "No timer_cb, automatic termination\n");
|
||||
|
||||
/* if timer_cb returns 1 or there is no timer_cb */
|
||||
fi->T = 0;
|
||||
osmo_fsm_inst_term(fi, OSMO_FSM_TERM_TIMEOUT, &T);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue