[asterisk-commits] mmichelson: branch 1.4 r103956 - /branches/1.4/apps/app_queue.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Feb 20 16:32:22 CST 2008


Author: mmichelson
Date: Wed Feb 20 16:32:22 2008
New Revision: 103956

URL: http://svn.digium.com/view/asterisk?view=rev&rev=103956
Log:
Clear up confusion when viewing the QUEUE_WAITING_COUNT of a 
"dead" realtime queue. Since from the user's perspective, the queue
does exist, we shouldn't tell them we couldn't find the queue. Instead
since it is a dead queue, report a 0 waiting count

This issue was brought up on IRC by jmls


Modified:
    branches/1.4/apps/app_queue.c

Modified: branches/1.4/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/apps/app_queue.c?view=diff&rev=103956&r1=103955&r2=103956
==============================================================================
--- branches/1.4/apps/app_queue.c (original)
+++ branches/1.4/apps/app_queue.c Wed Feb 20 16:32:22 2008
@@ -4002,6 +4002,7 @@
 	int count = 0;
 	struct call_queue *q;
 	struct ast_module_user *lu;
+	struct ast_variable *var = NULL;
 
 	buf[0] = '\0';
 	
@@ -4024,6 +4025,13 @@
 	if (q) {
 		count = q->count;
 		ast_mutex_unlock(&q->lock);
+	} else if ((var = ast_load_realtime("queues", "name", data, NULL))) {
+		/* if the queue is realtime but was not found in memory, this
+		 * means that the queue had been deleted from memory since it was 
+		 * "dead." This means it has a 0 waiting count
+		 */
+		count = 0;
+		ast_variables_destroy(var);
 	} else
 		ast_log(LOG_WARNING, "queue %s was not found\n", data);
 




More information about the asterisk-commits mailing list