Is your feature request related to a problem? Please describe.
When the CFE "Restart" command is executed, it calls CFE_PSP_Restart(). In the MCP750 implementation, this ultimately just invokes the reboot() kernel API.
This is rather extreme -- all apps/tasks are still running when this command comes in, and this just suddenly reboots the CPU with no notice. Those tasks could have been doing something important when they suddenly get the carpet ripped out from underneath.
Describe the solution you'd like
Should do some sort of graceful shutdown like Linux does with CTRL+C handling. Cancel or suspend all running tasks first so that when the "reboot()" is called there shouldn't be any other activity going on.
Describe alternatives you've considered
Additional context
During CFE 6.8 testing there was some occasional spurious exceptions observed when issuing the CFE Restart command - causing it to effectively execute a PROCESSOR restart instead of the intended POWERON Reset.
I was not able to reproduce that with the core framework distro, but my hypothesis is that there were possibly some apps running and doing something when the reboot was initiated and this set the stage for indeterminate behavior.
Requester Info
Joseph Hickey, Vantage Systems, Inc.
Is your feature request related to a problem? Please describe. When the CFE "Restart" command is executed, it calls
CFE_PSP_Restart()
. In the MCP750 implementation, this ultimately just invokes thereboot()
kernel API.This is rather extreme -- all apps/tasks are still running when this command comes in, and this just suddenly reboots the CPU with no notice. Those tasks could have been doing something important when they suddenly get the carpet ripped out from underneath.
Describe the solution you'd like Should do some sort of graceful shutdown like Linux does with CTRL+C handling. Cancel or suspend all running tasks first so that when the "reboot()" is called there shouldn't be any other activity going on.
Describe alternatives you've considered
Additional context During CFE 6.8 testing there was some occasional spurious exceptions observed when issuing the CFE Restart command - causing it to effectively execute a PROCESSOR restart instead of the intended POWERON Reset.
I was not able to reproduce that with the core framework distro, but my hypothesis is that there were possibly some apps running and doing something when the reboot was initiated and this set the stage for indeterminate behavior.
Requester Info Joseph Hickey, Vantage Systems, Inc.