Describe the bug
I found in vTaskPriorityDisinheritAfterTimeout(), tasks.c Line 6909,
after a uxListRemove(), there is a portRESET_READY_PRIORITY macro.
The argument be passed to the macro is pxTCB->uxPriority, which
should be uxPriorityUsedOnEntry.
Because the pxTCB was removed from pxReadyTasksLists[ uxPriorityUsedOnEntry ].
Then the portRESET_READY_PRIORITY() will be called if the pxReadyTasksLists[uxPriorityUsedOnEntry] became empty after the remove.
And pxTCB->uxPriority had already been changed to another higher/lower task priority.
That is : uxPriorityUsedOnEntry != pxTCB->uxPriority.
Thank you.
Target
Ports with optimized task selection implementation.
Host
- Host OS: Ubuntu
- Version: 24.04
To Reproduce
I have no idea how to reproduce. It only effects customized scheduler ports. I am using pi-pico
as target which is not the case.
Expected behavior
Should reset ready priority with the priority of the actually empty ready list.
Additional context