Properly update membercount for reloaded members

Since q->membercount is set to 0 before reloading, it is important
to increment it again for reloaded members as well as added.

(closes issue AST-676)

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

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@342382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Terry Wilson 2011-10-25 19:54:17 +00:00
parent 3551bfcbbc
commit 5749ef5be8
1 changed files with 5 additions and 2 deletions

View File

@ -6869,9 +6869,12 @@ static void reload_single_member(const char *memberdata, struct call_queue *q)
if (cur) {
ao2_ref(cur, -1);
} else {
q->membercount++;
}
/* Since this function is only called in a loop parsing all members after setting
* q->membercount = 0 if we are reloading, we must increment the membercount whether
* we add or reload, otherwise q->membercount stays 0 after a reload */
q->membercount++;
}
static int mark_member_dead(void *obj, void *arg, int flags)