summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Michelson <mmichelson@digium.com>2009-07-08 19:26:55 +0000
committerMark Michelson <mmichelson@digium.com>2009-07-08 19:26:55 +0000
commitfd52c5834ef4aed6286b3e5256b898b89b058957 (patch)
tree0cbbe40b7db7480081d3fbfed8ec82cfb38522f8
parentb47c2a282ddf040a47b09914322adfeb2bcc4df1 (diff)
Merged revisions 205349 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r205349 | mmichelson | 2009-07-08 14:26:13 -0500 (Wed, 08 Jul 2009) | 14 lines Prevent phantom calls to queue members. If a caller were to hang up while a periodic announcement or position were being said, the return value for those functions would incorrectly indicate that the caller was still in the queue. With these changes, the problem does not occur. (closes issue #14631) Reported by: latinsud Patches: queue_announce_ghost_call2.diff uploaded by latinsud (license 745) (with small modification from me) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@205350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r--apps/app_queue.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c
index aa3564a87..efdbf9c7b 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -2344,7 +2344,8 @@ posout:
res = play_file(qe->chan, qe->parent->sound_thanks);
}
playout:
- if ((res > 0 && !valid_exit(qe, res)) || res < 0)
+
+ if ((res > 0 && !valid_exit(qe, res)))
res = 0;
/* Set our last_pos indicators */
@@ -2919,7 +2920,7 @@ static int say_periodic_announcement(struct queue_ent *qe, int ringing)
/* play the announcement */
res = play_file(qe->chan, ast_str_buffer(qe->parent->sound_periodicannounce[qe->last_periodic_announce_sound]));
- if ((res > 0 && !valid_exit(qe, res)) || res < 0)
+ if (res > 0 && !valid_exit(qe, res))
res = 0;
/* Resume Music on Hold if the caller is going to stay in the queue */