auto-sync

This commit is contained in:
rusEfi 2016-08-26 22:03:07 -04:00
parent 63537e2212
commit 0393ff8244
2 changed files with 4 additions and 1 deletions

View File

@ -117,6 +117,7 @@ int EventQueue::executeAll(efitime_t now) {
// we need safe iteration because we are removing elements inside the loop
LL_FOREACH_SAFE(head, current, tmp)
{
efiAssert(current->callback != NULL, "callback==null1", 0);
if (++listIterationCounter > QUEUE_LENGTH_LIMIT) {
firmwareError("Is this list looped?");
return false;
@ -145,6 +146,7 @@ int EventQueue::executeAll(efitime_t now) {
*/
LL_FOREACH_SAFE(executionList, current, tmp)
{
efiAssert(current->callback != NULL, "callback==null2", 0);
uint32_t before = GET_TIMESTAMP();
current->isScheduled = false;
int howFarOff = now - current->momentX;

View File

@ -291,6 +291,7 @@ extern engine_pins_s enginePins;
void testRpmCalculator(void) {
printf("*************************************************** testRpmCalculator\r\n");
timeNow = 0;
schedulingQueue.clear();
EngineTestHelper eth(FORD_INLINE_6_1995);
EXPAND_EngineTestHelper;
@ -321,7 +322,7 @@ void testRpmCalculator(void) {
eth.engine.triggerCentral.addEventListener(mainTriggerCallback, "main loop", &eth.engine);
schedulingQueue.clear();
schedulingQueue.executeAll(99999999); // this is needed to clear 'isScheduled' flag
assertEqualsM("queue size/0", 0, schedulingQueue.size());
debugSignalExecutor = true;