FreeRTOS-Kernel/include
Darian 34b8e24d7c
Add support for newlib dynamic reentrancy (#496)
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
2022-05-31 16:11:02 -07:00
..
atomic.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
croutine.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
deprecated_definitions.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
event_groups.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
FreeRTOS.h Add support for newlib dynamic reentrancy (#496) 2022-05-31 16:11:02 -07:00
list.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
message_buffer.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
mpu_prototypes.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
mpu_wrappers.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
portable.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
projdefs.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
queue.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
semphr.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
stack_macros.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
StackMacros.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
stdint.readme Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
stream_buffer.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00
task.h Add task creation with affinity functions (#470) 2022-03-18 10:16:21 -07:00
timers.h Add SMP in the License Header (#402) 2021-10-13 18:38:24 -07:00