![]()  | 
  
    F´ Flight Software - C/C++ Documentation
    devel
    
   A framework for building embedded system applications to NASA flight quality standards. 
   | 
 
The Svc::FatalHandler is responsible for handling FATAL event notifications from the system.
The requirements for Svc::FatalHandler are as follows:
| Requirement | Description | Verification Method | 
|---|---|---|
| FH-001 | The Svc::FatalHandler component shall handle FATAL notifications    | Unit Test | 
| FH-002 | The Svc::FatalHandler component shall shut down the Unix process    | Unit Test | 
| FH-002 | The Svc::FatalHandler component shall suspend the thread calling FATAL    | Unit Test | 
The Svc::FatalHandler component has the following component diagram:
TODO
The Svc::FatalHandler component uses the following port types:
| Port Data Type | Name | Direction | Kind | Usage | 
|---|---|---|---|---|
| `Svc::Fatal` | FatalReceive | Input | Synch | Receive FATAL notifications | 
For Unix variants, it delays for one second before exiting with a segmentation fault. This allows time for the FATAL to propagate to the ground system so the user can see what event occurred and also generates a core for debugging (assuming ulimit is set correctly). For VxWorks, it suspends the calling thread. Projects can replace this component with another that does project-specific behavior like resets.
The Svc::FatalHandler handles FATAL notifications:

Svc::FatalHandler has no state machines.
Svc::FatalHandler has no significant algorithms.
TBD
To see unit test coverage run fprime-util check –coverage
| Date | Description | 
|---|---|
| 9/26/2016 | Design review edits |