summaryrefslogtreecommitdiff
path: root/apps/app_queue.c
diff options
context:
space:
mode:
authorBJ Weschke <bweschke@btwtech.com>2006-09-03 17:12:30 +0000
committerBJ Weschke <bweschke@btwtech.com>2006-09-03 17:12:30 +0000
commit91f4aa93bb107f82cf19cc996ef3c171b918b526 (patch)
tree2851dbccfce5a0cd119ac9ef3422af22cae8577f /apps/app_queue.c
parent6fdd2ef7905ee74f1628a4624d6859e5e29c9e15 (diff)
Don't keep trying the same member in certain strategies when members of the queue are unavailable (#7278 - diLLec reported and patched)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_queue.c')
-rw-r--r--apps/app_queue.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 255da9ced..581218043 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -1600,6 +1600,11 @@ static int ring_entry(struct queue_ent *qe, struct callattempt *tmp, int *busies
ast_cdr_busy(qe->chan->cdr);
tmp->stillgoing = 0;
update_dial_status(qe->parent, tmp->member, status);
+
+ ast_mutex_lock(&qe->parent->lock);
+ qe->parent->rrpos++;
+ ast_mutex_unlock(&qe->parent->lock);
+
(*busies)++;
return 0;
} else if (status != tmp->oldstatus)