aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-12-21 01:14:32 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-12-21 01:14:32 +0000
commit4bbec76368c35723c2ecdff7e0a317a83d4355ce (patch)
tree35134f8265911c4cfe4687dd10a1ee1d49ca411e /apps
parentf18c0943a0dc8031f97067ef616464f37518209e (diff)
Moved the update of the queue_ent's rule list to just before we try to call
queue members. This allows for the change in penalty levels to be executed at the most logical time frame. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@94396 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/app_queue.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index c6dbfa84f..0f2df8d16 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -4266,6 +4266,11 @@ check_turns:
if ((res = say_periodic_announcement(&qe,ringing)))
goto stop;
+ /* see if we need to move to the next penalty level for this queue */
+ while (qe.pr && ((time(NULL) - qe.start) > qe.pr->time)) {
+ update_qe_rule(&qe);
+ }
+
/* Try calling all queue members for 'timeout' seconds */
res = try_calling(&qe, args.options, args.announceoverride, args.url, &tries, &noption, args.agi, args.macro, args.gosub, ringing);
if (res) {
@@ -4317,11 +4322,6 @@ check_turns:
break;
}
- /* see if we need to move to the next penalty level for this queue */
- while (qe.pr && ((time(NULL) - qe.start) > qe.pr->time)) {
- update_qe_rule(&qe);
- }
-
/* If using dynamic realtime members, we should regenerate the member list for this queue */
update_realtime_members(qe.parent);