FreeRTOS / FreeRTOS-Kernel

FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.

Home Page:https://www.FreeRTOS.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Feature Request] Add API to get task base priority.

Spamfast opened this issue · comments

We use FreeRTOS a lot but come up against a snag when implementing temporary task priority boosting functionality.

The problem is that when mutexes are enabled in FreeRTOSConfig.h the value set by vTaskPrioritySet() is the base priority but the value returned by uxTaskPriorityGet() is the dynamic priority which may not be the same if the task currently owns a mutex that is waited on by a higher priority thread. So a task can't get its base priority, change it for a while and then restore it.

We work around this using vTaskGetInfo() to implement a uxTaskBasePriorityGet() but that is very inefficient.

It would be far better if the functionality were implemented in task.c and exposed in task.h.

Thank you for the suggestion. We would discuss about this API and later reply in this thread.

Closing the issue, since the fix has been merged in the PR.