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/.
Pau Espin Pedrol gerrit-no-reply at lists.osmocom.orgPau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/14075 Change subject: osmux: Fix CID release for non-enabled connections ...................................................................... osmux: Fix CID release for non-enabled connections Change-Id: If65c70b421476776e20233733722d72aa26d69a8 --- M include/osmocom/mgcp/osmux.h M src/libosmo-mgcp/mgcp_conn.c M src/libosmo-mgcp/mgcp_osmux.c 3 files changed, 15 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/75/14075/1 diff --git a/include/osmocom/mgcp/osmux.h b/include/osmocom/mgcp/osmux.h index eb05610..69ba3d0 100644 --- a/include/osmocom/mgcp/osmux.h +++ b/include/osmocom/mgcp/osmux.h @@ -14,7 +14,7 @@ int osmux_init(int role, struct mgcp_config *cfg); int osmux_enable_conn(struct mgcp_endpoint *endp, struct mgcp_conn_rtp *conn, struct in_addr *addr, uint16_t port); -void osmux_disable_conn(struct mgcp_conn_rtp *conn); +void conn_osmux_disable(struct mgcp_conn_rtp *conn); int conn_osmux_allocate_cid(struct mgcp_conn_rtp *conn, int osmux_cid); void conn_osmux_release_cid(struct mgcp_conn_rtp *conn); int osmux_xfrm_to_osmux(char *buf, int buf_len, struct mgcp_conn_rtp *conn); diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c index 5300351..232dfee 100644 --- a/src/libosmo-mgcp/mgcp_conn.c +++ b/src/libosmo-mgcp/mgcp_conn.c @@ -125,7 +125,8 @@ /* Cleanup rtp connection struct */ static void mgcp_rtp_conn_cleanup(struct mgcp_conn_rtp *conn_rtp) { - osmux_disable_conn(conn_rtp); + if(mgcp_conn_rtp_is_osmux(conn_rtp)) + conn_osmux_disable(conn_rtp); mgcp_free_rtp_port(&conn_rtp->end); rate_ctr_group_free(conn_rtp->rate_ctr_group); } diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index 3b788b6..38657ee 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -487,26 +487,25 @@ /*! disable OSXMUX circuit for a specified connection. * \param[in] conn connection to disable */ -void osmux_disable_conn(struct mgcp_conn_rtp *conn) +void conn_osmux_disable(struct mgcp_conn_rtp *conn) { - if (!conn) - return; - if (conn->osmux.state != OSMUX_STATE_ENABLED) - return; + OSMO_ASSERT(conn->osmux.state != OSMUX_STATE_DISABLED); LOGPCONN(conn->conn, DLMGCP, LOGL_INFO, - "Releasing connection %s using Osmux CID %u\n", - conn->conn->id, conn->osmux.cid); + "Releasing connection using Osmux CID %u\n", conn->osmux.cid); - /* We are closing, we don't need pending RTP packets to be transmitted */ - osmux_xfrm_output_set_tx_cb(&conn->osmux.out, NULL, NULL); - osmux_xfrm_output_flush(&conn->osmux.out); + if (conn->osmux.state == OSMUX_STATE_ENABLED) { + /* We are closing, we don't need pending RTP packets to be transmitted */ + osmux_xfrm_output_set_tx_cb(&conn->osmux.out, NULL, NULL); + osmux_xfrm_output_flush(&conn->osmux.out); - osmux_xfrm_input_close_circuit(conn->osmux.in, conn->osmux.cid); - conn->osmux.state = OSMUX_STATE_DISABLED; + osmux_xfrm_input_close_circuit(conn->osmux.in, conn->osmux.cid); + conn->osmux.state = OSMUX_STATE_DISABLED; + conn_osmux_release_cid(conn); + osmux_handle_put(conn->osmux.in); + } conn_osmux_release_cid(conn); - osmux_handle_put(conn->osmux.in); } /*! relase OSXMUX cid, that had been allocated to this connection. -- To view, visit https://gerrit.osmocom.org/14075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: If65c70b421476776e20233733722d72aa26d69a8 Gerrit-Change-Number: 14075 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190517/0fb7fc0d/attachment.htm>