aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2016-03-27 16:43:45 +0200
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2016-03-27 17:05:48 +0200
commit00a43e20ab4e16ac3822d204d98f7d8e2f11b7c2 (patch)
tree45fcf441f7e78b91df7aef65126c5578511b0e29
parent916348b7dcbd3f5fb4b672c3e18f6dd092cea146 (diff)
mncc: On timeout release the other leg as well
In case we don't receive the response we had expected let us take down the other part of the call as well.
-rw-r--r--src/mncc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mncc.c b/src/mncc.c
index 92ce189..b9df78b 100644
--- a/src/mncc.c
+++ b/src/mncc.c
@@ -42,9 +42,14 @@ static void close_connection(struct mncc_connection *conn);
static void cmd_timeout(void *data)
{
struct mncc_call_leg *leg = data;
+ struct call_leg *other_leg;
LOGP(DMNCC, LOGL_ERROR, "cmd(0x%x) never arrived for leg(%u)\n",
leg->rsp_wanted, leg->callref);
+
+ other_leg = call_leg_other(&leg->base);
+ if (other_leg)
+ other_leg->release_call(other_leg);
call_leg_release(&leg->base);
}