From 7a2a6a073f9796f622204abe60b64c5ac8372ea1 Mon Sep 17 00:00:00 2001 From: Mark Michelson <mmichelson@digium.com> Date: Fri, 8 May 2009 19:50:44 +0000 Subject: [PATCH] Reset the members' call counts when resetting queue statistics. This helps to prevent odd scenarios where a queue will claim to have taken 0 calls, but the members appear to have taken a non-zero amount. (closes issue #15068) Reported by: sum Patches: patchreset.patch uploaded by sum (license 766) Tested by: sum git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@193349 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_queue.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/app_queue.c b/apps/app_queue.c index eee4e55696..6590f6bad1 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -1234,6 +1234,16 @@ static void clear_queue(struct call_queue *q) q->callsabandoned = 0; q->callscompletedinsl = 0; q->wrapuptime = 0; + q->talktime = 0; + + if (q->members) { + struct member *mem; + struct ao2_iterator mem_iter = ao2_iterator_init(q->members, 0); + while ((mem = ao2_iterator_next(&mem_iter))) { + mem->calls = 0; + ao2_ref(mem, -1); + } + } } /*! -- GitLab