From patchwork Wed May 25 20:42:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gerrit-no-reply@lists.osmocom.org X-Patchwork-Id: 626455 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.osmocom.org (lists.osmocom.org [IPv6:2a01:4f8:191:444b::2:7]) by ozlabs.org (Postfix) with ESMTP id 3rFPNm37Hbz9sDk for ; Thu, 26 May 2016 06:42:48 +1000 (AEST) Received: from lists.osmocom.org (lists.osmocom.org [144.76.43.76]) by lists.osmocom.org (Postfix) with ESMTP id EED1D13686; Wed, 25 May 2016 20:42:46 +0000 (UTC) X-Original-To: openbsc@lists.osmocom.org Delivered-To: openbsc@lists.osmocom.org Received: from 127.0.1.12 (unknown [127.0.1.12]) by lists.osmocom.org (Postfix) with ESMTPA id 58F7E1366E; Wed, 25 May 2016 20:42:41 +0000 (UTC) Date: Wed, 25 May 2016 20:42:41 +0000 From: Holger Freyther To: daniel X-Gerrit-MessageType: merged Subject: [MERGED] libosmo-netif[master]: osmux: Pass circuit to _batch_del_circuit() and use it from ... X-Gerrit-Change-Id: If224980123d4a369133499ab7b577d02511f4055 X-Gerrit-ChangeURL: X-Gerrit-Commit: d5235e5e513e5a99efcc004fd666fd765bdee3ca In-Reply-To: References: MIME-Version: 1.0 Content-Disposition: inline User-Agent: Gerrit/2.12.2-31-gb331dbd-dirty X-BeenThere: openbsc@lists.osmocom.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Development of OpenBSC, OsmoBSC, OsmoNITB, OsmoCSCN" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: holger@freyther.de Errors-To: openbsc-bounces@lists.osmocom.org Sender: "OpenBSC" Message-Id: <20160525204246.EED1D13686@lists.osmocom.org> 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 --- 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); }