]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 301502 via svnmerge from
authorJeff Peeler <jpeeler@digium.com>
Wed, 12 Jan 2011 18:11:49 +0000 (18:11 +0000)
committerJeff Peeler <jpeeler@digium.com>
Wed, 12 Jan 2011 18:11:49 +0000 (18:11 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r301502 | jpeeler | 2011-01-12 12:10:42 -0600 (Wed, 12 Jan 2011) | 12 lines

  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: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@301503 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/channel.c

index ee4db262c20467227ec22ce8d51b60bb2c8cdd76..d70c0ea7da4148f3765a9612cc16e88b734282a6 100644 (file)
@@ -1372,13 +1372,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: