FreeRTOS / FreeRTOS-Kernel

FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.
https://www.FreeRTOS.org
MIT License
2.52k stars 1.05k forks source link

Enable xTaskGetCurrentTaskHandleForCore() for single core builds #978

Closed Dazza0 closed 5 months ago

Dazza0 commented 5 months ago

Description

SMP FreeRTOS applications may call xTaskGetCurrentTaskHandleForCore(). However, when the same application is built with configNUMBER_OF_CORES = 1, the function is no longer available.

In general,, configNUMBER_OF_CORES = 1 should be treated as a special case of an SMP FreeRTOS application, thus any SMP FreeRTOS API should also be callable even when configNUMBER_OF_CORES = 1,

Test Steps

  1. Call xTaskGetCurrentTaskHandleForCore() in application
  2. Set configNUMBER_OF_CORES = 1 for build.

Checklist:

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

chinglee-iot commented 5 months ago

@Dazza0 Thank you for creating this PR. I will continue to fix CI test failure to have this PR merged.

sonarcloud[bot] commented 5 months ago

Quality Gate Passed Quality Gate passed

Kudos, no new issues were introduced!

0 New issues
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

codecov[bot] commented 5 months ago

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (b4da9e3) 93.65% compared to head (39163fa) 93.62%. Report is 1 commits behind head on main.

Files Patch % Lines
tasks.c 80.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #978 +/- ## ========================================== - Coverage 93.65% 93.62% -0.03% ========================================== Files 6 6 Lines 3198 3199 +1 Branches 886 886 ========================================== Hits 2995 2995 - Misses 91 92 +1 Partials 112 112 ``` | [Flag](https://app.codecov.io/gh/FreeRTOS/FreeRTOS-Kernel/pull/978/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=FreeRTOS) | Coverage Δ | | |---|---|---| | [unittests](https://app.codecov.io/gh/FreeRTOS/FreeRTOS-Kernel/pull/978/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=FreeRTOS) | `93.62% <80.00%> (-0.03%)` | :arrow_down: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=FreeRTOS#carryforward-flags-in-the-pull-request-comment) to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.