[asterisk-commits] jpeeler: branch 1.4 r301502 - /branches/1.4/main/channel.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jan 12 12:10:48 CST 2011


Author: jpeeler
Date: Wed Jan 12 12:10:42 2011
New Revision: 301502

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=301502
Log:
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

Modified:
    branches/1.4/main/channel.c

Modified: branches/1.4/main/channel.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/main/channel.c?view=diff&rev=301502&r1=301501&r2=301502
==============================================================================
--- branches/1.4/main/channel.c (original)
+++ branches/1.4/main/channel.c Wed Jan 12 12:10:42 2011
@@ -1246,13 +1246,13 @@
 	 * 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:




More information about the asterisk-commits mailing list