From 88f27c8279869226aa518ce314bae6cafb003ad1 Mon Sep 17 00:00:00 2001
From: Mark Michelson <mmichelson@digium.com>
Date: Fri, 21 Dec 2007 01:14:32 +0000
Subject: [PATCH] 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
---
 apps/app_queue.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/apps/app_queue.c b/apps/app_queue.c
index c6dbfa84f1..0f2df8d16c 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);
 
-- 
GitLab