From: Jeff Peeler Date: Wed, 12 Jan 2011 18:12:08 +0000 (+0000) Subject: Merged revisions 301503 via svnmerge from X-Git-Tag: 1.8.3-rc1~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=743048953df35ce130792fc226514cd5a418e0e1;p=thirdparty%2Fasterisk.git Merged revisions 301503 via svnmerge from 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 --- diff --git a/main/channel.c b/main/channel.c index 0e5b72308f..b3582471dc 100644 --- a/main/channel.c +++ b/main/channel.c @@ -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: