]> git.ipfire.org Git - thirdparty/asterisk.git/commit
app_queue: delayed state can cause early leavewhenempty ringing
authorScott Griepentrog <sgriepentrog@digium.com>
Thu, 12 Jun 2014 15:40:41 +0000 (15:40 +0000)
committerScott Griepentrog <sgriepentrog@digium.com>
Thu, 12 Jun 2014 15:40:41 +0000 (15:40 +0000)
commita5f39fc2ba4c994080bd75e938c2e44bd1b0f1f7
treedad9195b60313e114b8e287b824cf8ab393b6676
parent064bd035e7cc6b99b837c1a6a1cc3900e2dbe113
app_queue: delayed state can cause early leavewhenempty ringing

In app_queue, device state changes arrive in event messages and
update the queue member status value.  That value is checked in
get_member_status() to decide that the caller should leave when
there are no available members.  Although event messages can be
delayed by other activity, there is no adverse affect by lagged
status except in one specific case: there is only one available
member, it was just rung, and leavewhenempty is enabled set for
ringing members.  This change adds a direct check of the device
state only under this condition where the caller may be dropped
incorrectly, resolving this issue without affecting performance
of app_queue normally.

AST-1248 #close
Review: https://reviewboard.asterisk.org/r/3595/
Reported by: Thomas Arimont
........

Merged revisions 415833 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@415835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
apps/app_queue.c