From: Matthew Jordan Date: Tue, 30 Oct 2012 02:22:20 +0000 (+0000) Subject: Ensure that the Queue application tracks busy members in off nominal situations X-Git-Tag: 11.1.0-rc1~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3ac0ced049902d37c9913a6c4271592db61cf3f2;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 ........ Merged revisions 375451 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@375469 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_queue.c b/apps/app_queue.c index 35f49fe898..40dd87d416 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -3518,6 +3518,7 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies ast_cdr_busy(ast_channel_cdr(qe->chan)); } tmp->stillgoing = 0; + (*busies)++; return 0; } @@ -3548,6 +3549,7 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies ast_cdr_busy(ast_channel_cdr(qe->chan)); } tmp->stillgoing = 0; + (*busies)++; return 0; } }