Merged revisions 43899 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r43899 | bweschke | 2006-09-28 12:41:05 -0400 (Thu, 28 Sep 2006) | 11 lines

Merged revisions 43897 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r43897 | bweschke | 2006-09-28 12:37:15 -0400 (Thu, 28 Sep 2006) | 3 lines

 app_queue is comparing the device names incorrectly while checking their statuses. It's internal list of interfaces includes the dial string, while the argument passed to this function does not have the dial string (/n for a local channel). This causes it to ignore the device state changes because it thinks it belongs to none of its members. (#8040 reported and patch by tim_ringenbach)


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
BJ Weschke 19 years ago
parent 8677abe99b
commit 9baf50ee9a

@ -517,7 +517,14 @@ static void *changethread(void *data)
AST_LIST_LOCK(&interfaces);
AST_LIST_TRAVERSE(&interfaces, curint, list) {
if (!strcasecmp(curint->interface, sc->dev))
char *interface;
char *slash_pos;
interface = ast_strdupa(curint->interface);
if ((slash_pos = strchr(interface, '/')))
if ((slash_pos = strchr(slash_pos + 1, '/')))
*slash_pos = '\0';
if (!strcasecmp(interface, sc->dev))
break;
}
AST_LIST_UNLOCK(&interfaces);
@ -535,7 +542,14 @@ static void *changethread(void *data)
AST_LIST_TRAVERSE(&queues, q, list) {
ast_mutex_lock(&q->lock);
for (cur = q->members; cur; cur = cur->next) {
if (strcasecmp(sc->dev, cur->interface))
char *interface;
char *slash_pos;
interface = ast_strdupa(cur->interface);
if ((slash_pos = strchr(interface, '/')))
if ((slash_pos = strchr(slash_pos + 1, '/')))
*slash_pos = '\0';
if (strcasecmp(sc->dev, interface))
continue;
if (cur->status != sc->state) {

Loading…
Cancel
Save