[asterisk-commits] russell: branch 1.6.2 r281574 - /branches/1.6.2/main/sched.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Aug 10 13:04:37 CDT 2010


Author: russell
Date: Tue Aug 10 13:04:32 2010
New Revision: 281574

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=281574
Log:
Don't move the time threshold for running scheduled events on every iteration.

Instead, only calculate the time threshold each time ast_sched_runq() is called.

(closes issue #17742)
Reported by: schmidts
Patches:
      sched.c.patch uploaded by schmidts (license 1077)

Modified:
    branches/1.6.2/main/sched.c

Modified: branches/1.6.2/main/sched.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/main/sched.c?view=diff&rev=281574&r1=281573&r2=281574
==============================================================================
--- branches/1.6.2/main/sched.c (original)
+++ branches/1.6.2/main/sched.c Tue Aug 10 13:04:32 2010
@@ -589,13 +589,13 @@
 		
 	ast_mutex_lock(&con->lock);
 
+	when = ast_tvadd(ast_tvnow(), ast_tv(0, 1000));
 	for (numevents = 0; (current = ast_heap_peek(con->sched_heap, 1)); numevents++) {
 		/* schedule all events which are going to expire within 1ms.
 		 * We only care about millisecond accuracy anyway, so this will
 		 * help us get more than one event at one time if they are very
 		 * close together.
 		 */
-		when = ast_tvadd(ast_tvnow(), ast_tv(0, 1000));
 		if (ast_tvcmp(current->when, when) != -1) {
 			break;
 		}




More information about the asterisk-commits mailing list