[MERGED] libosmo-netif[master]: osmux: Pass circuit to _batch_del_circuit() and use it from ...

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/OpenBSC@lists.osmocom.org/.

Holger Freyther gerrit-no-reply at lists.osmocom.org
Wed May 25 20:42:41 UTC 2016


Holger Freyther has submitted this change and it was merged.

Change subject: osmux: Pass circuit to _batch_del_circuit() and use it from _xfrm_input_fini()
......................................................................


osmux: Pass circuit to _batch_del_circuit() and use it from _xfrm_input_fini()

Change-Id: If224980123d4a369133499ab7b577d02511f4055
Ticket: OS#1733
Reviewed-on: https://gerrit.osmocom.org/119
Tested-by: Jenkins Builder
Reviewed-by: Holger Freyther <holger at freyther.de>
---
M src/osmux.c
1 file changed, 10 insertions(+), 12 deletions(-)

Approvals:
  Jenkins Builder: Verified
  Holger Freyther: Looks good to me, approved



diff --git a/src/osmux.c b/src/osmux.c
index 8025d5d..1f5bbe2 100644
--- a/src/osmux.c
+++ b/src/osmux.c
@@ -533,14 +533,8 @@
 	return circuit;
 }
 
-static void osmux_batch_del_circuit(struct osmux_batch *batch, int ccid)
+static void osmux_batch_del_circuit(struct osmux_batch *batch, struct osmux_circuit *circuit)
 {
-	struct osmux_circuit *circuit;
-
-	circuit = osmux_batch_find_circuit(batch, ccid);
-	if (circuit == NULL)
-		return;
-
 	if (circuit->dummy)
 		batch->ndummy--;
 	llist_del(&circuit->head);
@@ -713,8 +707,13 @@
 void osmux_xfrm_input_close_circuit(struct osmux_in_handle *h, int ccid)
 {
 	struct osmux_batch *batch = (struct osmux_batch *)h->internal_data;
+	struct osmux_circuit *circuit;
 
-	osmux_batch_del_circuit(batch, ccid);
+	circuit = osmux_batch_find_circuit(batch, ccid);
+	if (circuit == NULL)
+		return;
+
+	osmux_batch_del_circuit(batch, circuit);
 }
 
 void osmux_xfrm_input_fini(struct osmux_in_handle *h)
@@ -722,10 +721,9 @@
 	struct osmux_batch *batch = (struct osmux_batch *)h->internal_data;
 	struct osmux_circuit *circuit, *next;
 
-	llist_for_each_entry_safe(circuit, next, &batch->circuit_list, head) {
-		llist_del(&circuit->head);
-		talloc_free(circuit);
-	}
+	llist_for_each_entry_safe(circuit, next, &batch->circuit_list, head)
+		osmux_batch_del_circuit(batch, circuit);
+
 	osmo_timer_del(&batch->timer);
 	talloc_free(batch);
 }

-- 
To view, visit https://gerrit.osmocom.org/119
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If224980123d4a369133499ab7b577d02511f4055
Gerrit-PatchSet: 3
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Owner: daniel <dwillmann at sysmocom.de>
Gerrit-Reviewer: Holger Freyther <holger at freyther.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann at sysmocom.de>



More information about the OpenBSC mailing list