-
Notifications
You must be signed in to change notification settings - Fork 203
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
cFE Integration candidate: Equuleus-rc1+dev11 #2549
Conversation
Adds a "HandleLink" structure to encapsulate the linked list functionality and add generic routines to initialize and test/check this structure, along with list insert/remove functions for access descriptors that use this link struct interally. This also cleans up documentation of the table resource ID functions defined in cfe_tbl_resource.h
Fix #2546, add handle list operation routines
break; | ||
} | ||
|
||
Func(AccDescPtr, Arg); |
Check notice
Code scanning / CodeQL
Use of non-constant function pointer Note
* See description in header file for argument/return detail | ||
* | ||
*-----------------------------------------------------------------*/ | ||
void CFE_TBL_HandleListInsertLink(CFE_TBL_RegistryRec_t *RegRecPtr, CFE_TBL_AccessDescriptor_t *AccessDescPtr) |
Check notice
Code scanning / CodeQL
Long function without assertion Note
* See description in header file for argument/return detail | ||
* | ||
*-----------------------------------------------------------------*/ | ||
void CFE_TBL_HandleListRemoveLink(CFE_TBL_RegistryRec_t *RegRecPtr, CFE_TBL_AccessDescriptor_t *AccessDescPtr) |
Check notice
Code scanning / CodeQL
Long function without assertion Note
* See description in header file for argument/return detail | ||
* | ||
*-----------------------------------------------------------------*/ | ||
void CFE_TBL_ForeachAccessDescriptor(CFE_TBL_RegistryRec_t *RegRecPtr, CFE_TBL_AccessDescFunc_t Func, void *Arg) |
Check notice
Code scanning / CodeQL
Long function without assertion Note
* See description in header file for argument/return detail | ||
* | ||
*-----------------------------------------------------------------*/ | ||
void CFE_TBL_HandleListGetSafeLink(CFE_TBL_RegistryRec_t *RegRecPtr, CFE_TBL_AccessDescriptor_t *AccDescPtr, |
Check notice
Code scanning / CodeQL
Long function without assertion Note
CFE_TBL_TxnState_t *Txn = Arg; | ||
|
||
/* Only notify *OTHER* applications that the contents have changed */ | ||
if (!CFE_RESOURCEID_TEST_EQUAL(AccessDescPtr->AppId, CFE_TBL_TxnAppId(Txn))) |
Check warning
Code scanning / CodeQL
Side effect in a Boolean expression Warning
|
||
/* Return the Access Descriptor to the pool */ | ||
AccessDescPtr->UsedFlag = false; | ||
|
||
/* If this was the last Access Descriptor for this table, we can free the memory buffers as well */ | ||
if (RegRecPtr->HeadOfAccessList == CFE_TBL_END_OF_LIST) | ||
if (!CFE_TBL_HandleLinkIsAttached(&RegRecPtr->AccessList)) |
Check warning
Code scanning / CodeQL
Side effect in a Boolean expression Warning
if (AccDescPtr->UsedFlag && AccDescPtr->RegIndex == CFE_TBL_TxnRegId(Txn) && | ||
CFE_RESOURCEID_TEST_EQUAL(AccDescPtr->AppId, CFE_TBL_TxnAppId(Txn))) |
Check warning
Code scanning / CodeQL
Side effect in a Boolean expression Warning
* \param AccDescPtr Pointer to the current access descriptor | ||
* \param Arg Opaque argument from caller (passed through) | ||
*/ | ||
typedef void (* const CFE_TBL_AccessDescFunc_t)(CFE_TBL_AccessDescriptor_t *AccDescPtr, void *Arg); |
Check notice
Code scanning / CodeQL
Hidden pointer indirection Note
Checklist (Please check before submitting)
Describe the contribution
Testing performed
cFS Bundle Checks
cFE Checks
Expected behavior changes
See PRs
System(s) tested on
Ubuntu 20.04
Additional context
Add any other context about the contribution here.
Third party code
If included, identify any third party code and provide text file of license
Contributor Info - All information REQUIRED for consideration of pull request
@jphickey