mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-07-26 22:22:32 -04:00
Previously, the shared thread key was deleted in xPortStartScheduler after scheduler was ended. This created a race condition where prvThreadKeyDestructor (responsible for freeing thread-specific heap memory) would not be called if xPortStartScheduler deleted the key before the last task deletion, as destructors are not invoked after key deletion (see https://github.com/walac/glibc/blob/master/nptl/pthread_create.c#L145-L150). Move thread key deletion to process exit to ensure all thread-specific memory is properly freed. Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com> |
||
---|---|---|
.. | ||
ARC_EM_HS | ||
ARC_v1 | ||
ARM_TFM | ||
ATmega | ||
Posix | ||
RISC-V | ||
RP2040 | ||
Xtensa_ESP32 |