depend

QNX SDP8.0PLMS User's GuideAPIConfigurationDeveloper

Format

depend = ["component_name:session|stateless"]

Description

The depend keyword specifies a comma-separated list of inter-process dependencies. The arguments include:

component_name
The name of the prerequisite component. A component can have zero or more dependencies.
session

If a component must be stopped or restarted, PLMS first stops the component that depends on it (specified by component_name). Typically, you specify session when there is a client-server relationship between the components, and the server maintains client information.

stateless
If a component must be stopped or restarted, the component that depends on it is unaffected. For example, if there's a client-server relationship between the components, but the server doesn't maintain any client information, it's not necessary to restart clients if the server is restarted. If comp_b depends on comp_a, and comp_a fails, the process of starting comp_b will cause comp_a to start again even if the recovery for comp_a says it should not be started again on failure.

Default

None.

Multiplicity

Zero or one instance in a component block.

Constraints

  • The dependency must be resolvable at the end of the parsing. Any unresolvable dependency in the configuration files gets rejected.

  • All the dependencies of a component are started before the component itself is started.

  • All the session dependencies of a component are stopped before the component itself is stopped.

  • If a component appears more than once in the dependency list, then the configuration file is rejected. 

  • If a component fails and repair is set to RESTART, then the component enters the FAULT state when max_tries is exhausted. If repair is set to FAULT, the component state becomes FAULT. The 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.

  • If a component fails and repair is set to NONE, then only the component is stopped; the session dependencies are not affected.

Example

depend = ["comp_1:session", "comp_2:stateless"]
Page updated: