diff mbox

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

Message ID gerrit.1464195120088.If224980123d4a369133499ab7b577d02511f4055@gerrit.osmocom.org
State New
Headers show

Commit Message

gerrit-no-reply@lists.osmocom.org May 25, 2016, 4:52 p.m. UTC
Review at  https://gerrit.osmocom.org/119

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

Change-Id: If224980123d4a369133499ab7b577d02511f4055
Ticket: OS#1733
---
M src/osmux.c
1 file changed, 8 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/19/119/1

Comments

gerrit-no-reply@lists.osmocom.org May 25, 2016, 5:02 p.m. UTC | #1
Patch Set 1:

The Jenkins Builder error seems bogus:
http://jenkins.osmocom.org/jenkins/job/libosmo-netif-gerrit/8/label=linux_amd64_ubuntu_1504/console

Not sure what that issue is
gerrit-no-reply@lists.osmocom.org May 25, 2016, 7:42 p.m. UTC | #2
Patch Set 1:

(1 comment)

https://gerrit.osmocom.org/#/c/119/1/src/osmux.c
File src/osmux.c:

Line 724: 	llist_for_each_entry_safe(circuit, next, &batch->circuit_list, head) {
coding style, remove the curly braces please.
gerrit-no-reply@lists.osmocom.org May 25, 2016, 7:46 p.m. UTC | #3
Patch Set 1: Code-Review-1
gerrit-no-reply@lists.osmocom.org May 25, 2016, 8:42 p.m. UTC | #4
Patch Set 2: Code-Review+2
diff mbox

Patch

diff --git a/src/osmux.c b/src/osmux.c
index 8025d5d..44b4b96 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)
@@ -723,8 +722,7 @@ 
 	struct osmux_circuit *circuit, *next;
 
 	llist_for_each_entry_safe(circuit, next, &batch->circuit_list, head) {
-		llist_del(&circuit->head);
-		talloc_free(circuit);
+		osmux_batch_del_circuit(batch, circuit);
 	}
 	osmo_timer_del(&batch->timer);
 	talloc_free(batch);