You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Previously, newlib's _impure_ptr was updated on every context switch to point to the current task's _reent structure. However, this behavior is no longer valid on multi-core systems due to the fact that multiple cores can switch contexts at the same time, thus leading to the corruption of the _impure_ptr. However, Newlib can be compiled with __DYNAMIC_REENT__ enabled which will cause newlib functions to call __getreent() instead in order to obtain the required reent struct. This commit adds dynamic reentrancy support to FreeRTOS: - Added a configNEWLIB_REENTRANT_IS_DYNAMIC to enable dynamic reentrancy support - _impure_ptr is no longer updated with reentrancy is dynamic - Port must provide their own __getreent() that returns the current task's reent struct |
3 years ago | |
---|---|---|
.. | ||
FreeRTOS.h | 3 years ago | |
StackMacros.h | 3 years ago | |
atomic.h | 3 years ago | |
croutine.h | 3 years ago | |
deprecated_definitions.h | 3 years ago | |
event_groups.h | 3 years ago | |
list.h | 3 years ago | |
message_buffer.h | 3 years ago | |
mpu_prototypes.h | 3 years ago | |
mpu_wrappers.h | 3 years ago | |
portable.h | 3 years ago | |
projdefs.h | 3 years ago | |
queue.h | 3 years ago | |
semphr.h | 3 years ago | |
stack_macros.h | 3 years ago | |
stdint.readme | 3 years ago | |
stream_buffer.h | 3 years ago | |
task.h | 3 years ago | |
timers.h | 3 years ago |