Because event triggering is based on the same instrumented points used by WindView, interactions occur between the two mechanisms which are managed to avoid interference or conflicts. When an instrumentation point is hit, one of the following situations exists:
In order to keep the two mechanisms separate, the macro ACTION_IS_SET is introduced. It is shared by the two tools and regulates the activation and interactions of both logging and triggering. The process flow is shown in the following pseudocode:
if ACTION_IS_SET { if WV_ACTION_IS_SET do logging if TRG_ACTION_IS_SET do triggering }
The do logging portion of the process is described in 7. Data Collection. The do triggering function performs the steps described in the flow chart in Figure E-1.
The trigger data structures are shown in E.2 Trigger Structure. All the operations allowed on triggers, such as create, destroy, enable, and disable, are described in E.3 Triggering API. These functions should be used principally through the host GUI. Many parameters are involved and the GUI provides guidance in choosing the proper environment for the construction or modification of a trigger.