Simplify queue membercount code
authorTerry Wilson <twilson@digium.com>
Tue, 25 Oct 2011 20:07:59 +0000 (20:07 +0000)
committerTerry Wilson <twilson@digium.com>
Tue, 25 Oct 2011 20:07:59 +0000 (20:07 +0000)
commitf8351a83427f7fdbc0e8b0f4b5c6f16425c2fcee
tree1fae57bc8652652d087de38c757c192c3b397e73
parent5749ef5be87eaaa38208a31f8e486d4ae9127eb3
Simplify queue membercount code

Despite an ominous sounding comment stating that membercount was for "logged
in" members only and thus we couldn't use ao2_container_count(), I could not
find a single place in the code where that seemed to be accurate. The only time
we decremented membercount was when we were marking something dead or actually
removing it. The only places we incremented it were either after ao2_link(), or
trying to correct for having set it to 0 during a reload. In every case where
we were correcting the value, it seemed that we were trying to make the count
actually match what ao2_container_count() would return. The only place I could
find where we made a determination about something being "logged in" or not, we
didn't trust the membercount, but instead looked at devicestate, paused, etc.

This patch removes membercount, replaces its use with ao2_container_count, and
manually adds the results of ao2_container_count to a "membercount" field for
ast_data queue query results. This patch also would fix AST-676, but as it is
slightly riskier than the previously committed fix, the two commits have been
made separately.

Reivew: https://reviewboard.asterisk.org/r/1541/
........

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

Merged revisions 342384 from http://svn.asterisk.org/svn/asterisk/branches/10

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