lynxis lazus has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/24122 )


Change subject: gprs_ns2_sns: move selection of the next bind into own function
......................................................................

gprs_ns2_sns: move selection of the next bind into own function

It will be also used by del_bind() when removing an active bind

Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d
---
M src/gb/gprs_ns2_sns.c
1 file changed, 15 insertions(+), 12 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/24122/1

diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c
index 296a2e7..852af88 100644
--- a/src/gb/gprs_ns2_sns.c
+++ b/src/gb/gprs_ns2_sns.c
@@ -883,6 +883,20 @@
        }
 }

+static void ns2_sns_choose_next_bind(struct ns2_sns_state *gss)
+{
+       /* take the first bind or take the next bind */
+       if (!gss->initial_bind) {
+               gss->initial_bind = llist_first_entry(&gss->binds, struct 
ns2_sns_bind, list);
+       } else {
+               if (gss->initial_bind->list.next != &gss->binds) {
+                       gss->initial_bind = 
llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list);
+               } else {
+                       gss->initial_bind = llist_first_entry(&gss->binds, 
struct ns2_sns_bind, list);
+               }
+       }
+}
+
 /* setup all dynamic SNS settings, create a new nsvc and send the SIZE */
 static void ns2_sns_st_bss_size_onenter(struct osmo_fsm_inst *fi, uint32_t 
old_state)
 {
@@ -899,18 +913,7 @@
        gss->alive = false;

        ns2_sns_compute_local_ep_from_binds(fi);
-
-       /* take the first bind or take the next bind */
-       if (!gss->initial_bind) {
-               gss->initial_bind = llist_first_entry(&gss->binds, struct 
ns2_sns_bind, list);
-       } else {
-               if (gss->initial_bind->list.next != &gss->binds) {
-                       gss->initial_bind = 
llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list);
-               } else {
-                       gss->initial_bind = llist_first_entry(&gss->binds, 
struct ns2_sns_bind, list);
-               }
-       }
-
+       ns2_sns_choose_next_bind(gss);

        /* setup the NSVC */
        if (!gss->sns_nsvc) {

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24122
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d
Gerrit-Change-Number: 24122
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lyn...@fe80.eu>
Gerrit-MessageType: newchange

Reply via email to