mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-28 07:01:07 +00:00
app_queue: Only log PAUSEALL/UNPAUSEALL when 1+ memebers changed.
Prior to this patch, if pause or unpause was issued on an interface without specifying a specific queue, a PAUSEALL or UNPAUSEALL event would be logged in the queue log even if that interface wasn't a member of any queues. This patch changes it so that these events are only logged when at least one member of any queue exists for that interface. (closes issue AST-946) Reported by: John Bigelow Review: https://reviewboard.asterisk.org/r/2079/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@372148 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
10
CHANGES
10
CHANGES
@@ -7,6 +7,16 @@
|
|||||||
=== and the other UPGRADE files for older releases.
|
=== and the other UPGRADE files for older releases.
|
||||||
===
|
===
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
--- Functionality changes from Asterisk 11 to Asterisk 12 --------------------
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Logging
|
||||||
|
-------------------
|
||||||
|
* When performing queue pause/unpause on an interface without specifying an
|
||||||
|
individual queue, the PAUSEALL/UNPAUSEALL event will only be logged if at
|
||||||
|
least one member of any queue exists for that interface.
|
||||||
|
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
--- Functionality changes from Asterisk 10 to Asterisk 11 --------------------
|
--- Functionality changes from Asterisk 10 to Asterisk 11 --------------------
|
||||||
------------------------------------------------------------------------------
|
------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -5944,11 +5944,6 @@ static int set_member_paused(const char *queuename, const char *interface, const
|
|||||||
struct ao2_iterator queue_iter;
|
struct ao2_iterator queue_iter;
|
||||||
int failed;
|
int failed;
|
||||||
|
|
||||||
/* Special event for when all queues are paused - individual events still generated */
|
|
||||||
/* XXX In all other cases, we use the membername, but since this affects all queues, we cannot */
|
|
||||||
if (ast_strlen_zero(queuename))
|
|
||||||
ast_queue_log("NONE", "NONE", interface, (paused ? "PAUSEALL" : "UNPAUSEALL"), "%s", "");
|
|
||||||
|
|
||||||
queue_iter = ao2_iterator_init(queues, 0);
|
queue_iter = ao2_iterator_init(queues, 0);
|
||||||
while ((q = ao2_t_iterator_next(&queue_iter, "Iterate over queues"))) {
|
while ((q = ao2_t_iterator_next(&queue_iter, "Iterate over queues"))) {
|
||||||
ao2_lock(q);
|
ao2_lock(q);
|
||||||
@@ -5971,6 +5966,16 @@ static int set_member_paused(const char *queuename, const char *interface, const
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
found++;
|
found++;
|
||||||
|
|
||||||
|
/* Before we do the PAUSE/UNPAUSE log, if this was a PAUSEALL/UNPAUSEALL, log that here, but only on the first found entry. */
|
||||||
|
if (found == 1) {
|
||||||
|
|
||||||
|
/* XXX In all other cases, we use the membername, but since this affects all queues, we cannot */
|
||||||
|
if (ast_strlen_zero(queuename)) {
|
||||||
|
ast_queue_log("NONE", "NONE", interface, (paused ? "PAUSEALL" : "UNPAUSEALL"), "%s", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mem->paused = paused;
|
mem->paused = paused;
|
||||||
|
|
||||||
if (queue_persistent_members) {
|
if (queue_persistent_members) {
|
||||||
|
|||||||
Reference in New Issue
Block a user