Skip to content

v1.09

Latest
Compare
Choose a tag to compare
@dimonomid dimonomid released this 28 Dec 18:26

Most of the changes are various bugfixes provided by the community. Thanks a lot guys, I really appreciate the time and effort you spent on making this project better!

  • Fix: at least on ARM Cortex-M7 when built with the "optimize for speed" option, and maybe also on M3, M4 and some other ARMs, sometimes the context switch did not happen in time, and it was causing issues in e.g. tn_eventgrp_wait, where the waiting result was wrong. Thanks to Anatol Shiro for identifying and fixing this bug;
  • Fix: when the system is recovering from a deadlock (when one of the tasks stopped waiting after a timeout), the kernel was stuck in an endless loop. Thanks to Travis Griggs for identifying and fixing this bug, as part of his effort to implement an even better set of tests for TNeo;
  • Fix: when creating a higher-priority task from a lower-priority task, and the TN_TASK_CREATE_OPT_START flag was set, the kernel should switch context to the new task right away, but it wasn't happening. Again, thanks to Travis Griggs for this fix;
  • Fix: the project was unable to build for 64-bit platforms where unsigned long int and int have different sizes. Thanks to alecoding for the fix;
  • Fix: the project was unable to build without #TN_USE_MUTEXES or #TN_MUTEX_DEADLOCK_DETECT;
  • Added support of -pedantic mode for Cortex-M architectures.