]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
app_queue: Only send QueueMemberStatus if status changes.
authorJoshua C. Colp <jcolp@sangoma.com>
Fri, 19 Mar 2021 09:56:18 +0000 (06:56 -0300)
committerJoshua Colp <jcolp@sangoma.com>
Mon, 22 Mar 2021 12:51:38 +0000 (07:51 -0500)
If a queue member was updated with the same status multiple
times each time a QueueMemberStatus event would be sent
which would be a duplicate of the previous.

This change makes it so that the QueueMemberStatus event is
only sent if the status actually changes.

ASTERISK-29355

Change-Id: I580c60d992a0a8f2bea8b91c868771b3b490d116

apps/app_queue.c

index eddf5c70ec7afc5ae56d75cc672e435e05b17ca0..e84247dff07f653dfe239c20241690dadc729537 100644 (file)
@@ -2457,9 +2457,9 @@ static void update_status(struct call_queue *q, struct member *m, const int stat
                 * happen when there is latency in the connection to the member.
                 */
                pending_members_remove(m);
-       }
 
-       queue_publish_member_blob(queue_member_status_type(), queue_member_blob_create(q, m));
+               queue_publish_member_blob(queue_member_status_type(), queue_member_blob_create(q, m));
+       }
 }
 
 /*!