mirror of
https://github.com/asterisk/asterisk.git
synced 2026-07-14 15:37:49 -07:00
Merge "app_queue: Only remove queue member from pending when state changes." into 11
This commit is contained in:
+10
-3
@@ -1719,10 +1719,17 @@ struct statechange {
|
||||
*/
|
||||
static int update_status(struct call_queue *q, struct member *m, const int status)
|
||||
{
|
||||
m->status = status;
|
||||
if (m->status != status) {
|
||||
m->status = status;
|
||||
|
||||
/* Whatever the status is clear the member from the pending members pool */
|
||||
pending_members_remove(m);
|
||||
/* Remove the member from the pending members pool only when the status changes.
|
||||
* This is not done unconditionally because we can occasionally see multiple
|
||||
* device state notifications of not in use after a previous call has ended,
|
||||
* including after we have initiated a new call. This is more likely to
|
||||
* happen when there is latency in the connection to the member.
|
||||
*/
|
||||
pending_members_remove(m);
|
||||
}
|
||||
|
||||
if (q->maskmemberstatus) {
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user