Change in libosmocore[master]: gprs_ns2_sns: move selection of the next bind into own function

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/.

laforge gerrit-no-reply at lists.osmocom.org
Mon Jun 7 12:39:47 UTC 2021


laforge has submitted this change. ( 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

Related: OS#5036
Change-Id: Ic39f0e5474ecc055d9a1b6a7b30777574d8b741d
---
M src/gb/gprs_ns2_sns.c
1 file changed, 10 insertions(+), 12 deletions(-)

Approvals:
  laforge: Looks good to me, approved
  pespin: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c
index 296a2e7..5d85ec0 100644
--- a/src/gb/gprs_ns2_sns.c
+++ b/src/gb/gprs_ns2_sns.c
@@ -883,6 +883,15 @@
 	}
 }
 
+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->list.next == &gss->binds)
+		gss->initial_bind = llist_first_entry_or_null(&gss->binds, struct ns2_sns_bind, list);
+	else
+		gss->initial_bind = llist_entry(gss->initial_bind->list.next, 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 +908,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: 6
Gerrit-Owner: lynxis lazus <lynxis at fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210607/9a552f6b/attachment.htm>


More information about the gerrit-log mailing list