[asterisk-commits] qwell: branch 10 r329995 - in /branches/10: ./ channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jul 28 10:45:53 CDT 2011
Author: qwell
Date: Thu Jul 28 10:45:49 2011
New Revision: 329995
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=329995
Log:
Merged revisions 329994 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r329994 | qwell | 2011-07-28 10:45:24 -0500 (Thu, 28 Jul 2011) | 6 lines
Fix a SIP transfer deadlock.
The locking in this function is very scary. There are like 6 structs involved.
(closes issue AST-470)
........
Modified:
branches/10/ (props changed)
branches/10/channels/chan_sip.c
Propchange: branches/10/
------------------------------------------------------------------------------
Binary property 'branch-1.8-merged' - no diff available.
Modified: branches/10/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/10/channels/chan_sip.c?view=diff&rev=329995&r1=329994&r2=329995
==============================================================================
--- branches/10/channels/chan_sip.c (original)
+++ branches/10/channels/chan_sip.c Thu Jul 28 10:45:49 2011
@@ -23138,8 +23138,6 @@
ast_do_masquerade(target.chan1);
- sip_pvt_lock(transferer); /* the transferer pvt is expected to remain locked on return */
-
ast_indicate(target.chan1, AST_CONTROL_UNHOLD);
if (target.chan2) {
ast_indicate(target.chan2, AST_CONTROL_UNHOLD);
@@ -23180,6 +23178,8 @@
ast_channel_queue_connected_line_update(target.chan1, &connected_to_transferee, NULL);
}
+ sip_pvt_lock(transferer); /* the transferer pvt is expected to remain locked on return */
+
ast_channel_unref(current->chan1);
}
More information about the asterisk-commits
mailing list