aboutsummaryrefslogtreecommitdiffstats
path: root/src/mncc.c
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 /src/mncc.c
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.
Diffstat (limited to 'src/mncc.c')
-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);
}