aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-12 18:10:42 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2011-01-12 18:10:42 +0000
commit951f97549b7498dd8ddcdd9a8ee317c102df6f7c (patch)
tree401e9211c755005618bd0e94a890bf93f0d5ae3c
parent161a4a9df35f9406a2423518ea444a708c2e7261 (diff)
Fix CPU spike when pressing DTMF after agent login.
The problem here is that DTMF was being continuously deferred and requeued since ast_safe_sleep is called in a loop. There are serveral other places in the code that sleeps and then loops in a similar fashion. Because of this fact I opted to not defer DTMF any more, which will not affect the original fix: https://reviewboard.asterisk.org/r/674 (closes issue #18130) Reported by: rgj git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@301502 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--main/channel.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/main/channel.c b/main/channel.c
index c96de9104..d92b3c26f 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -1246,13 +1246,13 @@ int ast_is_deferrable_frame(const struct ast_frame *frame)
* be queued up or not.
*/
switch (frame->frametype) {
- case AST_FRAME_DTMF_END:
case AST_FRAME_CONTROL:
case AST_FRAME_TEXT:
case AST_FRAME_IMAGE:
case AST_FRAME_HTML:
return 1;
+ case AST_FRAME_DTMF_END:
case AST_FRAME_DTMF_BEGIN:
case AST_FRAME_VOICE:
case AST_FRAME_VIDEO: