summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2007-12-21 01:14:32 +0000
committerMark Michelson <mmichelson@digium.com>2007-12-21 01:14:32 +0000
commit88f27c8279869226aa518ce314bae6cafb003ad1 (patch)
tree35134f8265911c4cfe4687dd10a1ee1d49ca411e
parentb4895581383bd12aac5498b78590570d7506c2f5 (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: https://origsvn.digium.com/svn/asterisk/trunk@94396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-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);