summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2007-09-19 13:49:47 +0000
committerJoshua Colp <jcolp@digium.com>2007-09-19 13:49:47 +0000
commit39a6ecc228acf56dca3a5435e955a733f79b3518 (patch)
tree2f04376b82b6044ca4208b466d3cd838b24978b6 /apps
parent25597993d70420debf5908fceb4a68bdc4dc19ee (diff)
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) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r--apps/app_queue.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 9c11f1427..d5f1e48ac 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -2882,8 +2882,12 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
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");