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

Fix #952, OSAL module flags to permit app reload #1038

Merged
merged 1 commit into from
Dec 18, 2020

Conversation

jphickey
Copy link
Contributor

@jphickey jphickey commented Dec 7, 2020

Describe the contribution
Set the flags parameter on the OS_ModuleLoad() properly to allow an app to be properly unloaded, which in turn allows the reload command to work as expected.

Fixes #952

Testing performed
Build and run all unit tests
Test CFE app reload procedure:

  • Run CFE as normal, confirm unmodified SAMPLE_APP is loaded and running
  • Build a modified SAMPLE_APP that has an additional OS_printf() call during startup, and install as sample_new.so
  • Issue "reload" command (7) via cmdUtil, to reload SAMPLE_APP from /cf/sample_new.so
  • Confirm that the expected printf message is visible (confirms that the new file was actually loaded)

Expected behavior changes
Module unload/reload works as expected on Linux. Previously the unload would not actually unload, so it would end up restarting the same app code over again.

System(s) tested on
Ubuntu 20.04

Additional context
Needs sync delete fix in OSAL (see nasa/osal#642) to avoid task delete race condition. Without this OSAL change, the task may still be running at the time CFE ES unloads it, which will likely cause a segfault/crash if that happens.

Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

Set the newly-added flags parameter on the OS_ModuleLoad
properly to allow an app to be properly unloaded, which
in turn allows the reload command to work as expected.
@jphickey jphickey added the CCB:Ready Ready for discussion at the Configuration Control Board (CCB) label Dec 7, 2020
@astrogeco
Copy link
Contributor

CCB 2020-12-09 APPROVED

@astrogeco astrogeco added CCB-20201209 and removed CCB:Ready Ready for discussion at the Configuration Control Board (CCB) labels Dec 9, 2020
@astrogeco astrogeco changed the base branch from main to integration-candidate December 16, 2020 17:15
@astrogeco astrogeco merged commit f650f2d into nasa:integration-candidate Dec 18, 2020
astrogeco added a commit to nasa/cFS that referenced this pull request Dec 18, 2020
@jphickey jphickey deleted the fix-952-app-reload branch February 1, 2021 19:46
@skliper skliper added this to the 7.0.0 milestone Sep 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Requirement cES1008 Failure
3 participants