Make ast_channel_walk become ast_channel_walk_locked

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-05-20 16:30:10 +00:00
parent e1b72cf020
commit 6195dd35e0
13 changed files with 153 additions and 95 deletions

16
pbx.c
View File

@@ -3592,15 +3592,21 @@ int ast_async_goto(struct ast_channel *chan, char *context, char *exten, int pri
int ast_async_goto_by_name(char *channame, char *context, char *exten, int priority)
{
struct ast_channel *chan;
chan = ast_channel_walk(NULL);
int res = -1;
chan = ast_channel_walk_locked(NULL);
while(chan) {
if (!strcasecmp(channame, chan->name))
break;
chan = ast_channel_walk(chan);
ast_mutex_unlock(&chan->lock);
chan = ast_channel_walk_locked(chan);
}
if (chan)
return ast_async_goto(chan, context, exten, priority);
return -1;
if (chan) {
res = ast_async_goto(chan, context, exten, priority);
ast_mutex_unlock(&chan->lock);
}
return res;
}
static void ext_strncpy(char *dst, char *src, int len)