[asterisk-commits] tilghman: branch 1.4 r210913 - /branches/1.4/main/channel.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Aug 6 16:45:06 CDT 2009


Author: tilghman
Date: Thu Aug  6 16:45:01 2009
New Revision: 210913

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=210913
Log:
Because channel information can be accessed outside of the channel thread, we must lock the channel prior to modifying it.
(closes issue #15397)
 Reported by: caspy
 Patches: 
       20090714__issue15397.diff.txt uploaded by tilghman (license 14)
 Tested by: caspy

Modified:
    branches/1.4/main/channel.c

Modified: branches/1.4/main/channel.c
URL: http://svn.asterisk.org/svn-view/asterisk/branches/1.4/main/channel.c?view=diff&rev=210913&r1=210912&r2=210913
==============================================================================
--- branches/1.4/main/channel.c (original)
+++ branches/1.4/main/channel.c Thu Aug  6 16:45:01 2009
@@ -1566,10 +1566,12 @@
 	if (chan->cdr && !ast_test_flag(chan->cdr, AST_CDR_FLAG_BRIDGED) && 
 		!ast_test_flag(chan->cdr, AST_CDR_FLAG_POST_DISABLED) && 
 	    (chan->cdr->disposition != AST_CDR_NULL || ast_test_flag(chan->cdr, AST_CDR_FLAG_DIALED))) {
+		ast_channel_lock(chan);
 			
 		ast_cdr_end(chan->cdr);
 		ast_cdr_detach(chan->cdr);
 		chan->cdr = NULL;
+		ast_channel_unlock(chan);
 	}
 	
 	ast_channel_free(chan);




More information about the asterisk-commits mailing list