lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25150 )
Change subject: gprs_ns2: improve reselection protection ...................................................................... gprs_ns2: improve reselection protection Change-Id: I375a7639fb8e0f92fd67bb4176bd6219978aa428 --- M src/gb/gprs_ns2_sns.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/25150/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 6773cef..306332b 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2202,6 +2202,9 @@ /* TODO: keep the order of binds when data != NULL */ /* tear down previous state * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ + if (gss->reselection_running) + break; + gss->reselection_running = true; while (!llist_empty(&nse->nsvc)) { nsvc = llist_first_entry(&nse->nsvc, struct gprs_ns2_vc, list); @@ -2215,6 +2218,7 @@ gss->initial = NULL; ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 3); + gss->reselection_running = false; return; } else if (!gss->initial) { gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I375a7639fb8e0f92fd67bb4176bd6219978aa428 Gerrit-Change-Number: 25150 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus <lyn...@fe80.eu> Gerrit-MessageType: newchange