summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2017-03-22 08:33:26 -0500
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-03-22 08:33:26 -0500
commitf762dfaf2aa618e14155e1e5b5e295b2626cbb53 (patch)
treef428e188500801a87c4aaafb852fbccf662687e7
parent14a9a6fc099c833d355df2ef771e8554ac4b33e1 (diff)
parent76afb9e18ad5bd253eb2dc0409b8033a9fbd1e79 (diff)
Merge "app_queue: Member stuck as pending after forwarding previous call from queue" into 13
-rw-r--r--apps/app_queue.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index ddb62d2e0..11b3932f9 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -5510,6 +5510,13 @@ static int update_queue(struct call_queue *q, struct member *member, int callcom
member->membername, (long)member->lastcall);
ao2_unlock(q);
}
+ /* Member might never experience any direct status change (local
+ * channel with forwarding in particular). If that's the case,
+ * this is the last chance to remove it from pending or subsequent
+ * calls will not occur.
+ */
+ pending_members_remove(member);
+
ao2_lock(q);
q->callscompleted++;
if (callcompletedinsl) {