[asterisk-commits] irroot: branch irroot/asterisk-trunk-quack-queue r345369 - /team/irroot/aster...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Nov 15 10:58:31 CST 2011
Author: irroot
Date: Tue Nov 15 10:58:27 2011
New Revision: 345369
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=345369
Log:
Use of watching broke RNA
Modified:
team/irroot/asterisk-trunk-quack-queue/apps/app_queue.c
Modified: team/irroot/asterisk-trunk-quack-queue/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/irroot/asterisk-trunk-quack-queue/apps/app_queue.c?view=diff&rev=345369&r1=345368&r2=345369
==============================================================================
--- team/irroot/asterisk-trunk-quack-queue/apps/app_queue.c (original)
+++ team/irroot/asterisk-trunk-quack-queue/apps/app_queue.c Tue Nov 15 10:58:27 2011
@@ -1908,7 +1908,7 @@
const char *interface = (arg && flags & OBJ_POINTER) ? mem->interface : arg;
if (!arg || ast_strlen_zero(interface) || !strcasecmp(interface, c->member->interface)) {
- return (c->watching) ? CMP_MATCH : 0;
+ return (c->stillgoing && c->chan) ? CMP_MATCH : 0;
}
return 0;
}
@@ -3932,13 +3932,19 @@
/* Service all of the outgoing channels */
calls = ao2_find(qe->attempts, NULL, OBJ_MULTIPLE);
while (calls && (o = ao2_iterator_next(calls))) {
- /* i need to be re added to the watchers */
- o->watching = 0;
-
/* We go with a static buffer here instead of using ast_strdupa. Using
* ast_strdupa in a loop like this one can cause a stack overflow
*/
char ochan_name[AST_CHANNEL_NAME];
+
+ /* i need to be re added to the watchers */
+ if (!o->watching) {
+ ao2_ref(o, -1);
+ continue;
+ } else {
+ o->watching = 0;
+ }
+
if (o->chan) {
ast_channel_lock(o->chan);
ast_copy_string(ochan_name, o->chan->name, sizeof(ochan_name));
More information about the asterisk-commits
mailing list