[asterisk-commits] tilghman: branch 1.4 r273717 - /branches/1.4/main/autoservice.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Jul 2 12:09:53 CDT 2010


Author: tilghman
Date: Fri Jul  2 12:09:47 2010
New Revision: 273717

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=273717
Log:
Autoservice loop optimization causes a busy loop, when channels are serviced while in hangup.

(closes issue #17564)
 Reported by: ramonpeek
 Patches: 
       20100630__issue17564.diff.txt uploaded by tilghman (license 14)
 Tested by: ramonpeek

Modified:
    branches/1.4/main/autoservice.c

Modified: branches/1.4/main/autoservice.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.4/main/autoservice.c?view=diff&rev=273717&r1=273716&r2=273717
==============================================================================
--- branches/1.4/main/autoservice.c (original)
+++ branches/1.4/main/autoservice.c Fri Jul  2 12:09:47 2010
@@ -115,6 +115,11 @@
 		AST_LIST_UNLOCK(&aslist);
 
 		if (!x) {
+			/* If we don't sleep, this becomes a busy loop, which causes
+			 * problems when Asterisk runs at a different priority than other
+			 * user processes.  As long as we check for new channels at least
+			 * once every 10ms, we should be fine. */
+			usleep(10000);
 			continue;
 		}
 




More information about the asterisk-commits mailing list