summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Nicholson <mnicholson@digium.com>2009-07-07 18:24:13 +0000
committerMatthew Nicholson <mnicholson@digium.com>2009-07-07 18:24:13 +0000
commitcf8395002db0a1988089687cd4bc07b3ed87fff2 (patch)
tree5da6af103ec4f905ebd577f1b96df1cf85995363
parent5e2a5d16b6252a2b6e226312808c1c089a53a821 (diff)
Fix a deadlock in sig_analog
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@205047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--channels/sig_analog.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/sig_analog.c b/channels/sig_analog.c
index 556a2443c..e397e5f4f 100644
--- a/channels/sig_analog.c
+++ b/channels/sig_analog.c
@@ -536,7 +536,7 @@ static int analog_attempt_transfer(struct analog_pvt *p)
}
/* Three-way is now the REAL */
analog_swap_subs(p, ANALOG_SUB_THREEWAY, ANALOG_SUB_REAL);
- ast_channel_unlock(p->subs[ANALOG_SUB_THREEWAY].owner);
+ ast_channel_unlock(p->subs[ANALOG_SUB_REAL].owner); /* unlock REAL because THREEWAY has become REAL */
analog_unalloc_sub(p, ANALOG_SUB_THREEWAY);
/* Tell the caller not to hangup */
return 1;