libplms library definitions

QNX SDP8.0PLMS User's GuideAPIConfigurationDeveloper

Synopsis

typedef int32_t fsp_ResultType;
    define FSP_PLMS_STATUS_FAIL -1
    define FSP_PLMS_STATUS_EOK 0
} fsp_ResultType;

typedef enum {
    FSP_PLMS_COMPONENT_IDLE,
    FSP_PLMS_COMPONENT_STOPPING,
    FSP_PLMS_COMPONENT_STARTING,
    FSP_PLMS_COMPONENT_STARTED,
    FSP_PLMS_COMPONENT_SESSION_STOPPED,
    FSP_PLMS_COMPONENT_FAULT,
} fsp_plms_ComponentStateType;

Data

FSP_PLMS_COMPONENT_IDLE

The component has not started or stopped.

FSP_PLMS_COMPONENT_STOPPING

The component is in the process of stopping.

FSP_PLMS_COMPONENT_STARTING

The component is in the process of starting.

FSP_PLMS_COMPONENT_STARTED

The component started successfully.

FSP_PLMS_COMPONENT_SESSION_STOPPED

The component was stopped by its dependency.

FSP_PLMS_COMPONENT_FAULT
If a component terminates abnormally, it will be moved to the FAULT state under the following conditions:
  • If repair="FAULT".
  • If repair="RESTART" and the component fails the repair action max_tries times. A FAULT component can only be started/stopped by explicitly calling fsp_plms_Action() with a start or stop action, or by using start_components()/stop_components() from another component configuration. When a component is moved to the FAULT state, PLMS sends a fault notification (FSP_PLMS_NOTIFY_FAULT) and executes a task specified under on_fault.

The FAULT state is a transient state, and you must detect the FAULT state and rectify the FAULT for PLMS to handle the dependent components. When a component is requested to start, and the dependency of the component is in FAULT state, then this component will be in STARTING until the FAULT is cleared. It is important that you define a proper recovery action and rectify the FAULT cause and take system wide recovery action if a FAULT occurs.

Page updated: