[asterisk-commits] file: trunk r83075 - in /trunk: ./ apps/app_queue.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Sep 19 08:49:48 CDT 2007


Author: file
Date: Wed Sep 19 08:49:47 2007
New Revision: 83075

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

........
r83074 | file | 2007-09-19 10:47:59 -0300 (Wed, 19 Sep 2007) | 6 lines

Protect the CDR record from modification by pbx_exec so that the application data contains the Queue data.
(closes issue #10761)
Reported by: snar
Patches:
      app-queue-mixmonitor.patch uploaded by snar (license 245)

........

Modified:
    trunk/   (props changed)
    trunk/apps/app_queue.c

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

Modified: trunk/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_queue.c?view=diff&rev=83075&r1=83074&r2=83075
==============================================================================
--- trunk/apps/app_queue.c (original)
+++ trunk/apps/app_queue.c Wed Sep 19 08:49:47 2007
@@ -2882,8 +2882,12 @@
 						snprintf(mixmonargs, sizeof(mixmonargs)-1, "%s|b%s", tmpid2, monitor_options);
 						
 					ast_debug(1, "Arguments being passed to MixMonitor: %s\n", mixmonargs);
-
+					/* We purposely lock the CDR so that pbx_exec does not update the application data */
+					if (qe->chan->cdr)
+						ast_set_flag(qe->chan->cdr, AST_CDR_FLAG_LOCKED);
 					ret = pbx_exec(qe->chan, mixmonapp, mixmonargs);
+					if (qe->chan->cdr)
+						ast_clear_flag(qe->chan->cdr, AST_CDR_FLAG_LOCKED);
 
 				} else
 					ast_log(LOG_WARNING, "Asked to run MixMonitor on this call, but cannot find the MixMonitor app!\n");




More information about the asterisk-commits mailing list