aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_iax2.c
diff options
context:
space:
mode:
authordvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-07-17 22:07:36 +0000
committerdvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-07-17 22:07:36 +0000
commit7ee3a37c582457dcee6b8be72886abebc44c47c0 (patch)
treee799f3af71c00215d518fd0134724cc4107cde9b /channels/chan_iax2.c
parenta74f96ca08035c72edf00111c040f990454fde34 (diff)
fixes an error in r203638 CEL commit
(closes issue #15525) Reported by: elguero Patches: iax2-double-unlock.patch uploaded by elguero (license 37) 15525.diff uploaded by dvossel (license 671) Tested by: dvossel git-svn-id: http://svn.digium.com/svn/asterisk/trunk@207225 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r--channels/chan_iax2.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 07883f3bb..d0f5952d4 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -8523,8 +8523,7 @@ static void set_hangup_source_and_cause(int callno, unsigned char causecode)
do {
if (ast_channel_trylock(iaxs[callno]->owner)) {
DEADLOCK_AVOIDANCE(&iaxsl[callno]);
- }
- else {
+ } else {
locked = 1;
owner = iaxs[callno]->owner;
}
@@ -8537,13 +8536,11 @@ static void set_hangup_source_and_cause(int callno, unsigned char causecode)
}
ast_set_hangupsource(iaxs[callno]->owner, iaxs[callno]->owner->name, 0);
ast_channel_unlock(owner);
- }
- if (locked) {
+ } else if(locked) {
ast_channel_unlock(owner);
}
}
-
static int socket_process(struct iax2_thread *thread)
{
struct sockaddr_in sin;