[asterisk-commits] russell: trunk r51199 - in /trunk: ./ channels/chan_sip.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Wed Jan 17 14:20:22 MST 2007


Author: russell
Date: Wed Jan 17 15:20:22 2007
New Revision: 51199

URL: http://svn.digium.com/view/asterisk?view=rev&rev=51199
Log:
Merged revisions 51198 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r51198 | russell | 2007-01-17 15:18:35 -0600 (Wed, 17 Jan 2007) | 11 lines

Merged revisions 51197 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r51197 | russell | 2007-01-17 15:17:21 -0600 (Wed, 17 Jan 2007) | 3 lines

Move the check for a failure of ast_channel_alloc() to before locking the
pvt structure again.  Otherwise, on a failure, this will cause a deadlock.

........

................

Modified:
    trunk/   (props changed)
    trunk/channels/chan_sip.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=51199&r1=51198&r2=51199
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Wed Jan 17 15:20:22 2007
@@ -3850,11 +3850,11 @@
 		tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, "SIP/%s-%08x", my_name, (int)(long) i);
 
 	}
-	sip_pvt_lock(i);
 	if (!tmp) {
 		ast_log(LOG_WARNING, "Unable to allocate AST channel structure for SIP channel\n");
 		return NULL;
 	}
+	sip_pvt_lock(i);
 	tmp->tech = &sip_tech;
 
 	/* Select our native format based on codec preference until we receive



More information about the asterisk-commits mailing list