pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-msc/+/29811 )
Change subject: call_leg: Fix EV_MGW_ENDPOINT_GONE not processed in RELEASE state ......................................................................
call_leg: Fix EV_MGW_ENDPOINT_GONE not processed in RELEASE state
Since call_leg_fsm_releasing_onenter() calls immediatelly osmo_fsm_inst_term(), it meant we couldn't receive any event in that state because osmo_fsm disables event dispatching to FSMs being terminated. As a result, CALL_LEG_EV_MGW_ENDPOINT_GONE was never received and hence call_leg_mgw_endpoint_gone() was never called, which means the mgcp_client used in cl->mgw_endpoint was never put back to the pool.
By first freeing all the children (rtp_streams), we make sure cl->mgw_endpoint ends up with no conns and sends us the GONE event before we go ourselves into termination state.
Related: SYS#5987 Change-Id: I2126578c4e64c9f336e8a1f6ee98de970866b8dc --- M src/libmsc/call_leg.c 1 file changed, 6 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/11/29811/2