From: David Vossel Date: Thu, 17 Sep 2009 22:37:28 +0000 (+0000) Subject: fixes deadlock when performing directed pickup w Invite/replaces X-Git-Tag: 11.0.0-beta1~4148 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=06782af23825f3496c79728d6f83e350e385d3e0;p=thirdparty%2Fasterisk.git 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 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 78e787520c..ce2f3de3a2 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 {