From: Ivan Poddubny Date: Tue, 27 Jun 2017 09:37:11 +0000 (+0200) Subject: app_queue: Fix returning to dialplan when a queue is empty X-Git-Tag: 13.17.0-rc1~11^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c43ca0ac50764ab17d691844a84158bbf590b0e;p=thirdparty%2Fasterisk.git app_queue: Fix returning to dialplan when a queue is empty The fix for ASTERISK-25665 introduced a regression. The return value of queue_exec used to be 0 in case of leavewhenempty but it was changed to -1 (returned from wait_our_turn and passed transparently by queue_exec), thus leading to hangup instead of returning back to dialplan. This commit resets the value back to 0 in this case, restoring original behavior. ASTERISK-27065 #close Reported by: Marek Cervenka Change-Id: Id9c83b75aeda463250155e88c5004be52bbca5ac --- diff --git a/apps/app_queue.c b/apps/app_queue.c index b449263c9b..ac4738fd27 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -8166,6 +8166,9 @@ stop: } else if (qcontinue) { reason = QUEUE_CONTINUE; res = 0; + } else if (reason == QUEUE_LEAVEEMPTY) { + /* Return back to dialplan, don't hang up */ + res = 0; } } else if (qe.valid_digits) { ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "EXITWITHKEY",