xTaskIsTaskSuspended backward compatibility

stephane91 wrote on Friday, February 13, 2015:

Hi everyone,

I am new to FreeRTOS and had as a first experience to upgrade a project from FreeRTOS v7 to v8.
The compilation fails because of a missing “xTaskIsTaskSuspended” function.

On the one hand, the change log states that from v8.0, “xTaskIsTaskSuspended() is no longer a public function. Use eTaskGetState() in its place.” (http://www.freertos.org/History.txt)

On the other hand, the website states that “FreeRTOS V8.x.x is a drop-in compatible replacement for FreeRTOS V7.x” (http://www.freertos.org/upgrading-to-FreeRTOS-V8.html)

This should not be a big deal, but I am wondering if I missed something.
Is there a trick to actually get full backward compatibility ?

Thanks a lot.

rtel wrote on Friday, February 13, 2015:

Sorry this has caused a problem for you - I’m afraid I cannot recall the reason behind it. I don’t think it was intentional the function was available in the first place as it was used internally. If the function still exists in the code, but has been made static, you could just remove the static qualifier - although we do not generally recommend editing the core code.


stephane91 wrote on Monday, February 16, 2015:

Thank you for your answer.
I noticed that this function was called by STMicroelectronics’ STM32CubeL1 library in their CMSIS OS layer.
They seem to have announced that the next version of their library will include FreeRTOS 8 (instead of v7 currently), so I guess I should wait until then.

Best regards,