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

................
  r301503 | jpeeler | 2011-01-12 12:11:49 -0600 (Wed, 12 Jan 2011) | 19 lines

  Merged revisions 301502 via svnmerge from
  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.8@301504 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/channel.c

index 0e5b72308f0f2d4c9b2ead73bcfd8054efab87a3..b3582471dccca99e63bb51e013a0a896944a668f 100644 (file)
@@ -1732,13 +1732,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: