]> git.ipfire.org Git - thirdparty/asterisk.git/commit
app_queue: Only remove queue member from pending when state changes. 05/3205/1
authorJoshua Colp <jcolp@digium.com>
Thu, 14 Jul 2016 12:45:10 +0000 (09:45 -0300)
committerJoshua Colp <jcolp@digium.com>
Thu, 14 Jul 2016 12:53:07 +0000 (07:53 -0500)
commit43b5f8d57ba8a052e2227fa855e16e4d0b077e30
tree937027c7631b4dd918a02ef40d5f66f16bc50f14
parent56668e3e9cbaf4ff4a36138534d3e0c3e979b2cf
app_queue: Only remove queue member from pending when state changes.

It is possible for a not in use state change to occur multiple
times causing a queue member to be removed from the pending call
container prematurely.

The first not in use state change will remove the queue member
from the container. At this moment the member may be called and
placed in the pending container. After this another not in use
state change can be received which will remove it from the
container. Despite being called at this point the code will
incorrectly see that there are no pending calls to it.

This change only removes it from the pending container if the
state has actually changed.

ASTERISK-26133 #close
patches:
  app_queue.diff submitted by Richard Miller (license 5685)

Change-Id: Ie5a7f17a44f98e9159e9b85009ce3f8393aa78c0
apps/app_queue.c