diff options
author | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2011-01-12 18:10:42 +0000 |
---|---|---|
committer | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2011-01-12 18:10:42 +0000 |
commit | 951f97549b7498dd8ddcdd9a8ee317c102df6f7c (patch) | |
tree | 401e9211c755005618bd0e94a890bf93f0d5ae3c | |
parent | 161a4a9df35f9406a2423518ea444a708c2e7261 (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.c | 2 |
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: |