app_queue: Fix a bug where realtime members would be deleted during reload causing waiting callers to get ejected.

This patch causes realtime queue members to remain in queues during the reload process. Previously these
members would be removed causing any waiting callers to be ejected from the queue with a reason of "EXITEMPTY".

ASTERISK-23547 #close
ASTERISK-23547 #comment Patch app_queue_fix_realtime_reload_1.8_trunk.patch submitted by Italo Rossi (license 6409)

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

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

Merged revisions 411585 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@411586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2014-04-01 16:51:05 +00:00
parent dccb74849e
commit 8b5bf0f282

View File

@@ -8537,7 +8537,7 @@ static void reload_single_member(const char *memberdata, struct call_queue *q)
static int mark_member_dead(void *obj, void *arg, int flags)
{
struct member *member = obj;
if (!member->dynamic) {
if (!member->dynamic && !member->realtime) {
member->delme = 1;
}
return 0;