neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-hnbgw/+/36888?usp=email )


Change subject: change back dispatch ordering in map_rua_init_action()
......................................................................

change back dispatch ordering in map_rua_init_action()

Before patch I3e1ad7a2aa71674a22a27c31512600f2de139032,
the order was:

        case MAP_RUA_EV_RX_CONNECT:
 state-chg -->  map_rua_fsm_state_chg(MAP_RUA_ST_CONNECTED);
 dispatch  -->  map_sccp_dispatch(map, MAP_SCCP_EV_TX_DATA_REQUEST, ranap_msg);
                return;

>From that patch on, the order is:

        case MAP_RUA_EV_RX_CONNECT:
 dispatch  -->  handle_rx_rua(fi, ranap_msg);
 state-chg -->  map_rua_fsm_state_chg(MAP_RUA_ST_CONNECTED);
                return;

The ordering of event dispatching and state changing is a delicate matter,
because event dispatching might result in an fsm deallocation, especially on
corner case errors. Attempting to modify the state after that may crash.

TODO: insert actual proven reason for this patch here.

TODO: explain why the same ordering one 'case' below is not a problem.

Change-Id: Ie277c46d153bc12dc28a914c241392cdf5ec0aa4
---
M src/osmo-hnbgw/context_map_rua.c
1 file changed, 33 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/88/36888/1

diff --git a/src/osmo-hnbgw/context_map_rua.c b/src/osmo-hnbgw/context_map_rua.c
index 3c6ea1e..67d50d0 100644
--- a/src/osmo-hnbgw/context_map_rua.c
+++ b/src/osmo-hnbgw/context_map_rua.c
@@ -219,9 +219,9 @@
        switch (event) {

        case MAP_RUA_EV_RX_CONNECT:
+               map_rua_fsm_state_chg(MAP_RUA_ST_CONNECTED);
                /* not needed for RAB assignment scanning, but for KPI scanning 
*/
                handle_rx_rua(fi, ranap_msg);
-               map_rua_fsm_state_chg(MAP_RUA_ST_CONNECTED);
                return;

        case MAP_RUA_EV_RX_DISCONNECT:

--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/36888?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Ie277c46d153bc12dc28a914c241392cdf5ec0aa4
Gerrit-Change-Number: 36888
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofm...@sysmocom.de>
Gerrit-MessageType: newchange

Reply via email to