From: Tilghman Lesher Date: Fri, 30 May 2008 21:17:45 +0000 (+0000) Subject: When joinempty=strict, it only failed on join if there were busy members. If X-Git-Tag: 1.4.21-rc1~18 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c9ddda2b1fc1bff1b32037c7416282ec1c0636b9;p=thirdparty%2Fasterisk.git When joinempty=strict, it only failed on join if there were busy members. If all members were logged out OR paused, then it (incorrectly) let callers join the queue. (closes issue #12451) Reported by: davidw git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@119404 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_queue.c b/apps/app_queue.c index ce74c3f387..6830745d72 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -1422,7 +1422,7 @@ static int join_queue(char *queuename, struct queue_ent *qe, enum queue_result * stat = get_member_status(q, qe->max_penalty); if (!q->joinempty && (stat == QUEUE_NO_MEMBERS)) *reason = QUEUE_JOINEMPTY; - else if ((q->joinempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS)) + else if ((q->joinempty == QUEUE_EMPTY_STRICT) && (stat == QUEUE_NO_REACHABLE_MEMBERS || stat == QUEUE_NO_MEMBERS)) *reason = QUEUE_JOINUNAVAIL; else if (q->maxlen && (q->count >= q->maxlen)) *reason = QUEUE_FULL;