aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-01-17 19:43:13 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-01-17 19:43:13 +0000
commit595e6fc3d887155c4c5d5523b51bf57196e560a9 (patch)
tree699635010afde1aac2b5d9dfe806f369bf41c6fc /main
parentde0a931ad6a9739dab92b6d70b8875b9ed3e0818 (diff)
Don't hold channel lock while sleeping/waiting for audio stream to get setup. (issue #8834 reported by phsultan)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51193 f38db490-d61c-443f-a65b-d21fe96a405b
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);