AnsweredAssumed Answered

Bug report: _time_delay() sometimes blocks for very long

Question asked by Richard Donkin on Sep 5, 2014

Hello Freescale,

 

I am using MQX 4.0.2. I was using the _time_delay() function to loosely schedule tasks to perform their duties in a periodic way.

 

I encountered an infrequent bug where _time_delay() would block for a much longer time than specified, perhaps a hundred times as long or longer. I have not found the cause of the bug, but I can confirm that using MQX's _timer_start_oneshot_after() + _taskq_suspend() + _taskq_resume() solves the issue for me. That means the same sort of timing error is not present in the timer module.

 

For reference, I have included my own delay_ms() function's source code, which seems to work properly.

 

Best regards,

Richard Donkin

Original Attachment has been moved to: Scheduler_Delay.hpp.txt.zip

Original Attachment has been moved to: Scheduler_Delay.cpp.txt.zip

Original Attachment has been moved to: Simple_Map.hpp.txt.zip

Outcomes