diff options
author | David Vossel <dvossel@digium.com> | 2009-09-17 22:37:28 +0000 |
---|---|---|
committer | David Vossel <dvossel@digium.com> | 2009-09-17 22:37:28 +0000 |
commit | 06782af23825f3496c79728d6f83e350e385d3e0 (patch) | |
tree | 87e227e828916cfc66d4d2f5ddb29e224fbc81e0 /channels | |
parent | dc6f08e2757fac902ec3ed7e6e67785955fe4efe (diff) |
fixes deadlock when performing directed pickup w Invite/replaces
(closes issue #15340)
Reported by: lmsteffan
Patches:
deadlock.patch uploaded by lmsteffan (license 779)
Tested by: lmsteffan
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@219371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 78e787520..ce2f3de3a 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -20723,7 +20723,9 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int do_magic_pickup(c, pickup.exten, pickup.context); /* Now we're either masqueraded or we failed to pickup, in either case we... */ + sip_pvt_unlock(p); ast_hangup(c); + sip_pvt_lock(p); return 0; } else { |