diff options
author | Joshua Colp <jcolp@digium.com> | 2017-03-22 08:33:26 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2017-03-22 08:33:26 -0500 |
commit | f762dfaf2aa618e14155e1e5b5e295b2626cbb53 (patch) | |
tree | f428e188500801a87c4aaafb852fbccf662687e7 | |
parent | 14a9a6fc099c833d355df2ef771e8554ac4b33e1 (diff) | |
parent | 76afb9e18ad5bd253eb2dc0409b8033a9fbd1e79 (diff) |
Merge "app_queue: Member stuck as pending after forwarding previous call from queue" into 13
-rw-r--r-- | apps/app_queue.c | 7 |
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) { |