-
Notifications
You must be signed in to change notification settings - Fork 220
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
OSAL Integration Candidate: 2020-12-08 #680
Merged
Merged
Conversation
This file contains 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
Introduce the OS_object_token_t type which tracks a reference to an OSAL resource. This contains all information about the original reference, including the ID, object type, lock type, and the table index. Therefore, since the token type contains all relevant info, it can be used in all places where a bare index was used. This also considerably simplifies the code, as some functions which previously output multiple objects only need to operate on tokens, and the functions which called these functions only need to instantiate a token.
Use a variable name that matches the type of resource being accessed, rather than just "local". In particular this is important for readability of timecb and timebase code where functions need often need to access both types of objects at the same time. This also updates filesys code to match.
Pass token objects to impl layers to identify the object to operate on, rather than the index. The token has extra information including the original/actual object ID - which matters if the ID might change as part of the operation (e.g. new/delete).
For the linked list of timer callbacks, use the full object ID value rather than just the index. This ensures consistency in the list and also makes it easier to manage.
ID is preferable to an array index because direct table access should not be done outside OSAL itself.
Fix #608 - Add RTEMS 5.x support
Fix #650, OS_chmod uses read or write access.
Fix #648, 649, 664 - refactor all table array access
Fix #631, Add new functional tests for OS_chmod
Fix #120, Exit console loop on shutdown
Fix #290, Remove obsolete printf tests
astrogeco
added a commit
to nasa/cFS
that referenced
this pull request
Dec 9, 2020
jphickey
pushed a commit
to jphickey/osal
that referenced
this pull request
Aug 10, 2022
jphickey
pushed a commit
to jphickey/osal
that referenced
this pull request
Aug 10, 2022
Fix nasa#680, Remove table service exclusion logic
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
Fix #120, Exit console loop on shutdown
Fix #290, Remove obsolete printf tests
Fix #608, Add RTEMS 5.x support
Fix #631, add new functional tests for OS_chmod
Fix #648, scrub array references in shared layer
Fix #648, rename internal fields for consistency
Fix #648, sanitize array refs on impl layer
Fix #649, use full object ID in timecb list
Fix #650, OS_chmod uses read or write access.
Fix #664, change type of sync callback argument to osal_id_t
Expected behavior changes
PR #661 - Add support for RTEMS 5.1. The change provides defines and necessary ifdefs so RTEMS 4.11 can continue to be supported.
PR #663 -
OS_chmod
now checks for either read or write access instead of just read accessPR #665 - Adds functional test for
OS_chmod
PR #666 - Refactor the table array access across OSAL. Use a token concept in combination with a macro to obtain the table entry instead of indexing arrays directly. All access is then done through this table pointer. Use the full object ID in the timer call back list. Update the timer sync callback prototype. Pass the entire OSAL ID to the sync function, not just the index. This is technically an API change.
PR #667 - Replaces condition on forever loops to end on shutdown. Loops now exit on shutdown.
PR #674 - Removes obsolete printf tests that didn't work
Testing performed
See https://github.com/nasa/cFS/pull/160/checks
System(s) tested on
Ubuntu 18.04
Additional context
Part of nasa/cFS#160
Third party code
None
Contributor Info - All information REQUIRED for consideration of pull request
@skliper
@acudmore
@jphickey
@zanzaben