summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin P. Fleming <kpfleming@digium.com>2005-08-25 18:30:02 +0000
committerKevin P. Fleming <kpfleming@digium.com>2005-08-25 18:30:02 +0000
commit239d0bf4f73d5e7272c1fbd469446032fd027055 (patch)
tree05831cf6af391f8258e67f7dbed4895962cee7df
parent9f13284f02786c31209e6cb9819017a9f22ad328 (diff)
fix race condition
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-xapps/app_externalivr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/apps/app_externalivr.c b/apps/app_externalivr.c
index f54c0ec6c..4bfa62b9e 100755
--- a/apps/app_externalivr.c
+++ b/apps/app_externalivr.c
@@ -387,7 +387,7 @@ static int app_exec(struct ast_channel *chan, void *data)
if (f->frametype == AST_FRAME_DTMF) {
send_child_event(child_events, f->subclass, NULL, chan);
if (u->option_autoclear) {
- if (!u->playing_silence)
+ if (!u->list_cleared && !u->playing_silence)
send_child_event(child_events, 'T', NULL, chan);
AST_LIST_LOCK(&u->playlist);
while ((entry = AST_LIST_REMOVE_HEAD(&u->playlist, list))) {
@@ -431,7 +431,7 @@ static int app_exec(struct ast_channel *chan, void *data)
send_child_event(child_events, 'Z', NULL, chan);
strcpy(&input[2], "exception");
}
- if (!u->playing_silence)
+ if (!u->list_cleared && !u->playing_silence)
send_child_event(child_events, 'T', NULL, chan);
AST_LIST_LOCK(&u->playlist);
while ((entry = AST_LIST_REMOVE_HEAD(&u->playlist, list))) {