Fixup read/write locking

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
James Golovich
2004-03-27 07:34:37 +00:00
parent eeb2ca5b26
commit 9fca20acc1
3 changed files with 14 additions and 9 deletions

View File

@@ -1505,7 +1505,8 @@ int ast_set_write_format(struct ast_channel *chan, int fmts, int needlock)
int native;
int res;
ast_mutex_lock(&chan->lock);
if (needlock)
ast_mutex_lock(&chan->lock);
native = chan->nativeformats;
fmt = fmts;
@@ -1513,7 +1514,8 @@ int ast_set_write_format(struct ast_channel *chan, int fmts, int needlock)
if (res < 0) {
ast_log(LOG_NOTICE, "Unable to find a path from %s to %s\n",
ast_getformatname(fmts), ast_getformatname(chan->nativeformats));
ast_mutex_unlock(&chan->lock);
if (needlock)
ast_mutex_unlock(&chan->lock);
return -1;
}
@@ -1528,7 +1530,8 @@ int ast_set_write_format(struct ast_channel *chan, int fmts, int needlock)
chan->pvt->writetrans = ast_translator_build_path(chan->pvt->rawwriteformat, chan->writeformat);
if (option_debug)
ast_log(LOG_DEBUG, "Set channel %s to write format %s\n", chan->name, ast_getformatname(chan->writeformat));
ast_mutex_unlock(&chan->lock);
if (needlock)
ast_mutex_unlock(&chan->lock);
return 0;
}
@@ -1547,7 +1550,8 @@ int ast_set_read_format(struct ast_channel *chan, int fmts, int needlock)
if (res < 0) {
ast_log(LOG_NOTICE, "Unable to find a path from %s to %s\n",
ast_getformatname(chan->nativeformats), ast_getformatname(fmts));
ast_mutex_unlock(&chan->lock);
if (needlock)
ast_mutex_unlock(&chan->lock);
return -1;
}
@@ -1563,7 +1567,8 @@ int ast_set_read_format(struct ast_channel *chan, int fmts, int needlock)
if (option_debug)
ast_log(LOG_DEBUG, "Set channel %s to read format %s\n",
chan->name, ast_getformatname(chan->readformat));
ast_mutex_unlock(&chan->lock);
if (needlock)
ast_mutex_unlock(&chan->lock);
return 0;
}