diff options
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 7 |
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; |