FreeRTOS-Kernel/portable/ThirdParty
arctic-alpaca 03db672b8f
Fix race in POSIX port vPortEndScheduler (#1262)
* Fix race in POSIX port `vPortEndScheduler`

The `vPortEndScheduler` checks whether it's a FreeRTOS thread after signalling the scheduler thread to stop. This creates a race between the check and the destruction of the thread key. By moving the signal to the scheduler thread after the check, the race is prevented.

* Code review suggestions

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2025-04-03 14:32:44 +05:30
..
CDK/T-HEAD_CK802 fix typos in comments: interace -> interface, swtich -> switch (#1022) 2024-04-08 17:50:55 -07:00
Community-Supported-Ports@bae4c7aa19 Update Community-Supported-Ports submod to fix RP2350 port - FreeRTOS-Kernel#1220 (#1232) 2025-01-25 15:08:49 +05:30
GCC Fix race in POSIX port vPortEndScheduler (#1262) 2025-04-03 14:32:44 +05:30
Partner-Supported-Ports@abc22103e1 Xtensa support updated and moved to Partner-Supported submodules (#1156) 2024-10-15 09:02:11 -07:00
XCC/Xtensa Xtensa support updated and moved to Partner-Supported submodules (#1156) 2024-10-15 09:02:11 -07:00
xClang/XCOREAI Pass core ID to port lock macros (#1212) 2024-12-30 14:28:49 +05:30
KnownIssues.md Add a Known Issues file in the Third Party folder (#434) 2022-01-03 14:26:43 -07:00
README.md Update portable/ThirdParty/README.md (#474) 2022-03-10 19:41:45 -08:00

FreeRTOS Third Party Ports

FreeRTOS third party ports can be supported by the FreeRTOS team, a FreeRTOS partner or FreeRTOS community members. Depending on who supports it, the support provided will differ as follows:

FreeRTOS Team Supported Third Party FreeRTOS Ports

Location: https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/main/portable/ThirdParty

These third party FreeRTOS ports are supported by the FreeRTOS team. For a FreeRTOS team supported third party FreeRTOS port:

  • The code has been reviewed by the FreeRTOS team.
  • FreeRTOS team has access to the hardware and the test results have been verified by the FreeRTOS team.
  • Customer queries as well as bugs are addressed by the FreeRTOS team.
  • The code can be included in Long Term Support (LTS) releases.

A new FreeRTOS port cannot be directly contributed to this location. Instead, the FreeRTOS team will decide to take ownership of a partner supported or a community supported FreeRTOS port based on the community interest.

Partner Supported FreeRTOS Ports

Location: https://github.com/FreeRTOS/FreeRTOS-Kernel-Partner-Supported-Ports/tree/main

These FreeRTOS ports are supported by a FreeRTOS partner. For a partner supported FreeRTOS port:

  • The code has not been reviewed by the FreeRTOS team.
  • FreeRTOS team has not verified the tests results but tests exist and are reported to be successful by the partner.
  • Customer queries as well as bugs are addressed by the partner.

A new FreeRTOS port can be directly contributed by a partner. The process to contribute a FreeRTOS port is documented here.

Community Supported FreeRTOS Ports

Location: https://github.com/FreeRTOS/FreeRTOS-Kernel-Community-Supported-Ports/tree/main

These FreeRTOS ports are supported by the FreeRTOS community members. For a community supported FreeRTOS port:

  • The code has not been reviewed by the FreeRTOS team.
  • Tests may or may not exist for the FreeRTOS port.
  • Customer queries as well as bugs are addressed by the community.

A new FreeRTOS port can be directly contributed by anyone. The process to contribute a FreeRTOS port is documented here.