diff options
author | zuul <zuul@gerrit.asterisk.org> | 2017-03-22 09:50:22 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2017-03-22 09:50:22 -0500 |
commit | 30f011a46092c694958148daf5bbc12347df5e74 (patch) | |
tree | da17ea6cd356902fd9c3ed1ac07f0182ab1d61d0 /apps | |
parent | f83a334434d54f8da5604e0040d3cb42038e1f93 (diff) | |
parent | 79069f8ccb45d844afdeb98f64107e4ebf0f4cbc (diff) |
Merge "app_queue: Member stuck as pending after forwarding previous call from queue"
Diffstat (limited to 'apps')
-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 3886b7c7a..720493621 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -5574,6 +5574,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) { |