Fix #1027, defer cancellation when BSP locked#1028
Merged
astrogeco merged 1 commit intonasa:integration-candidatefrom May 20, 2021
Merged
Fix #1027, defer cancellation when BSP locked#1028astrogeco merged 1 commit intonasa:integration-candidatefrom
astrogeco merged 1 commit intonasa:integration-candidatefrom
Conversation
Resolves two related issues: - OS_TaskGetId does not return a valid value for tasks where cancellation is pending, but they are still running. This in turn is likely to trigger other (bogus) debug checks which invoke OS_DEBUG and in turn do console writes. - The console write itself is a cancellation point, which is now done while holding a BSP mutex. If canceled here, then the mutex is not released. Solution is in two parts: - OS_TaskGetId should return the task ID it knows about, regardless of whether the task is pending cancellation or not. - Defer cancellation of the task while the BSP is locked, ensure it reaches the unlock, then restore the previous cancel state.
eadc3e6 to
8a3e0ec
Compare
skliper
approved these changes
May 19, 2021
Contributor
|
@astrogeco requesting fastrack, bugs at this point have a high impact. |
jphickey
added a commit
to jphickey/osal
that referenced
this pull request
Aug 10, 2022
Fix nasa#777, Use MSG APIs - Core software Fix nasa#777, Use MSG APIs - Docs Fix nasa#777, Use MSG APIs - Unit tests See nasa/cFE#998 for more details
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Describe the contribution
Resolves two related issues:
Solution is in two parts:
Fixes #1027
Testing performed
Run mutex-test repeatedly, ensure no deadlocks
Expected behavior changes
No chance of deadlock, and also fixes a bogus debug message about unlocking from the wrong task if the task is pending delete.
System(s) tested on
Ubuntu
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.