This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.org
Review at https://gerrit.osmocom.org/490
fsm: call 'onenter' as last step of a state change
This is useful to allow the user to terinate the fsm from the onenter()
callback.
Change-Id: Ia45a1f3279e702028250e10dc54b2d46a4039905
---
M src/fsm.c
1 file changed, 4 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/490/1
diff --git a/src/fsm.c b/src/fsm.c
index 8fedae2..6649b09 100644
--- a/src/fsm.c
+++ b/src/fsm.c
@@ -323,14 +323,15 @@
LOGPFSM(fi, "state_chg to %s\n", osmo_fsm_state_name(fsm, new_state));
fi->state = new_state;
- if (st->onenter)
- st->onenter(fi, old_state);
-
if (timeout_secs) {
fi->T = T;
osmo_timer_schedule(&fi->timer, timeout_secs, 0);
}
+ /* Call 'onenter' last, user might terminate FSM from there */
+ if (st->onenter)
+ st->onenter(fi, old_state);
+
return 0;
}
--
To view, visit https://gerrit.osmocom.org/490
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia45a1f3279e702028250e10dc54b2d46a4039905
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>