Skip to content

CFE_ES_ProcessCoreException() is not interrupt-safe #76

@skliper

Description

@skliper

The CFE_ES_ProcessCoreException() architecture needs to be re-examined.

This is the equivalent of an interrupt handler and likely triggered as the result of a hardware interrupt. However the implementation calls other CFE_ES functions, some of which take the global data mutex (CFE_ES_LockSharedData), do console output (CFE_ES_WriteToSyslog and other functions which ultimately do printf), or call OS_TaskDelay.

All of these operations are unsafe to do in an interrupt context on most platforms.

This may not be an issue if the end-result of the exception is a processor reset, which is probably the only safe thing to do. Although the option to restart the task does exist, the system may be too far gone after this.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions