[asterisk-commits] jrose: trunk r425505 - in /trunk: ./ main/sched.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Oct 14 14:13:04 CDT 2014


Author: jrose
Date: Tue Oct 14 14:12:58 2014
New Revision: 425505

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=425505
Log:
Scheduler: Fix a nasty scheduler caching bug which makes new tasks not execute

Tasks that were marked for pending deletion in the scheduler would be moved to
the cache for later reuse, but after being recycled the deleted mark wouldn't
be removed resulting in fresh tasks being deleted without reason... and
immediately moved back into the cache where they could be reused again. This
could cause horrendous things to happen in just about anything that used a
scheduler.

ASTERISK-24321 #close
Reported by: Steve Pitts
Review: https://reviewboard.asterisk.org/r/4071/
........

Merged revisions 425503 from http://svn.asterisk.org/svn/asterisk/branches/12
........

Merged revisions 425504 from http://svn.asterisk.org/svn/asterisk/branches/13

Modified:
    trunk/   (props changed)
    trunk/main/sched.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.

Modified: trunk/main/sched.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/sched.c?view=diff&rev=425505&r1=425504&r2=425505
==============================================================================
--- trunk/main/sched.c (original)
+++ trunk/main/sched.c Tue Oct 14 14:12:58 2014
@@ -374,6 +374,7 @@
 		tmp->resched = when;
 		tmp->variable = variable;
 		tmp->when = ast_tv(0, 0);
+		tmp->deleted = 0;
 		if (sched_settime(&tmp->when, when)) {
 			sched_release(con, tmp);
 		} else {




More information about the asterisk-commits mailing list