From: Matthew Jordan Date: Tue, 30 Oct 2012 02:14:01 +0000 (+0000) Subject: Ensure that the Queue application tracks busy members in off nominal situations X-Git-Tag: 10.11.0-rc1~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b39da9a8be4177440c93910da88c712ab6320b0;p=thirdparty%2Fasterisk.git Ensure that the Queue application tracks busy members in off nominal situations There are a few code paths where the Queue application fails to count a paused or in use queue member as being 'busy'. This can cause callers to get stuck in the Queue until a paused agent unpauses themselves. (closes issue ASTERISK-20623) Reported by: Bryan Walters patches: app_queue.patch uploaded by Bryan Walters (license 5851) ........ Merged revisions 375450 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@375451 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_queue.c b/apps/app_queue.c index f7c3d18ab2..96189f0e85 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3164,6 +3164,7 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies ast_cdr_busy(qe->chan->cdr); } tmp->stillgoing = 0; + (*busies)++; return 0; } @@ -3194,6 +3195,7 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies ast_cdr_busy(qe->chan->cdr); } tmp->stillgoing = 0; + (*busies)++; return 0; } }