Fix #476, add global lock/unlock wrapper #478
Merged
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
Add a wrapper at the shared layer to provide a common location to check the status of global lock/unlock ops.
All calls to OS_Lock_Global_Impl and OS_Unlock_Global_Impl from the shared modules are replaced with calls to this wrapper.
Notably - this detects and reports the problem described in #474, in case something similar happens in the future.
Fixes #476
Testing performed
Build and execute all unit tests, and sanity check CFE operations.
Expected behavior changes
Now detects and reports errors in global mutex lock/unlock ops.
System(s) tested on
Ubuntu 20.04 (native)
RTEMS 4.11 on pc686 via QEMU
Additional context
If this patch is applied in isolation without any other changes, one will see debug trace generated as it is detecting the problem previously reported in #474:
These errors go away as soon as the PR #475 is also applied
Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.