aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorbweschke <bweschke@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-03 17:12:30 +0000
committerbweschke <bweschke@f38db490-d61c-443f-a65b-d21fe96a405b>2006-09-03 17:12:30 +0000
commit757bf288f3cf53f0d8ff0062334c888d6262a58a (patch)
tree2851dbccfce5a0cd119ac9ef3422af22cae8577f /apps
parente6175430aa2c973608147e87cd5e1b07a0eab71f (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: http://svn.digium.com/svn/asterisk/trunk@41879 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-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)