From 9952647d192ff09e083729dbb5edb03dc3e3822f Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Thu, 29 Jul 2021 14:28:46 -0400 Subject: [PATCH] TT#14008 fix call iterator dead lock ... should acually be working one of these days... Change-Id: I8025aafd0eccb10df5ac2630e0e39b7fe978e25e --- daemon/call.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/daemon/call.c b/daemon/call.c index 83a7dca1f..2923ca59b 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -2844,6 +2844,7 @@ void call_destroy(struct call *c) { if (prev_call) { if (mutex_trylock(&prev_call->iterator[i].next_lock)) { mutex_unlock(&c->iterator[i].next_lock); + mutex_unlock(&c->iterator[i].prev_lock); mutex_unlock(&rtpe_call_iterators[i].lock); continue; // try again } @@ -2852,6 +2853,7 @@ void call_destroy(struct call *c) { if (mutex_trylock(&next_call->iterator[i].prev_lock)) { mutex_unlock(&prev_call->iterator[i].next_lock); mutex_unlock(&c->iterator[i].next_lock); + mutex_unlock(&c->iterator[i].prev_lock); mutex_unlock(&rtpe_call_iterators[i].lock); continue; // try again }