summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2007-01-17 19:43:13 +0000
committerJoshua Colp <jcolp@digium.com>2007-01-17 19:43:13 +0000
commitc71d6c12f7a93ee86dc1559bef02e1f00d360a9f (patch)
tree699635010afde1aac2b5d9dfe806f369bf41c6fc /main
parentce5d9ab661ec7bb78046a11dfeb6c431dfc6b453 (diff)
Don't hold channel lock while sleeping/waiting for audio stream to get setup. (issue #8834 reported by phsultan)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/channel.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/main/channel.c b/main/channel.c
index 95639ebde..ed32cdc47 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1637,8 +1637,10 @@ int __ast_answer(struct ast_channel *chan, unsigned int delay)
res = chan->tech->answer(chan);
ast_setstate(chan, AST_STATE_UP);
ast_cdr_answer(chan->cdr);
+ ast_channel_unlock(chan);
if (delay)
ast_safe_sleep(chan, delay);
+ return res;
break;
case AST_STATE_UP:
ast_cdr_answer(chan->cdr);