Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DRAFT] Backport semaphore fixes #188

Draft
wants to merge 5 commits into
base: px4_firmware_nuttx-10.1.0+
Choose a base branch
from

Commits on Jun 9, 2022

  1. Configuration menu
    Copy the full SHA
    29196db View commit details
    Browse the repository at this point in the history
  2. semphore: release all semphores' holder that the task held when exit

    Add a list in TCB to track all semphores the task held, so we
    can release all holders when exit, so nxsched_verify_tcb
    is unnecessary.
    
    Signed-off-by: Zeng Zhaoxiu <[email protected]>
    zhaoxiu-zeng authored and ThomasDebrunner committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    403f5fb View commit details
    Browse the repository at this point in the history
  3. semaphore: Cleanup, merge public code.

    Signed-off-by: Zeng Zhaoxiu <[email protected]>
    zhaoxiu-zeng authored and ThomasDebrunner committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    b3e8851 View commit details
    Browse the repository at this point in the history
  4. semaphore: Improve the nxsem_release_holder function.

    1. The task which called nxsem_release_holder may not be a holder of the semaphore,
       counts of the holder would not be decreamented.
       This commit try to resolve the problem if there is only one holder.
    2. Avoid counts overflow.
    
    Signed-off-by: Zeng Zhaoxiu <[email protected]>
    zhaoxiu-zeng authored and ThomasDebrunner committed Jun 9, 2022
    Configuration menu
    Copy the full SHA
    4d0ae69 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    efc2e5d View commit details
    Browse the repository at this point in the history