summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorDavid Vossel <dvossel@digium.com>2009-09-17 22:37:28 +0000
committerDavid Vossel <dvossel@digium.com>2009-09-17 22:37:28 +0000
commit06782af23825f3496c79728d6f83e350e385d3e0 (patch)
tree87e227e828916cfc66d4d2f5ddb29e224fbc81e0 /channels
parentdc6f08e2757fac902ec3ed7e6e67785955fe4efe (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.c2
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 {