VTAM® allows multiple instances
of the performance monitor exit routine to be active concurrently.
Within this context, it is important to distinguish between the
terms exit routine and instance or exit.
The exit routine refers to only the function and interface defined
by VTAM for the exit routine.
An instance or exit refers to the code that is driven when the exit
routine is invoked.
Instances of the exit routine can be one of the following:
- Base exit refers to the exit code that is activated
using the MODIFY EXIT command without a qualified exit name (MODIFY EXIT,ID=ISTEXCPM).
- Multiple exit refers to exit code that is activated
using the MODIFY EXIT command with a qualified exit name (MODIFY EXIT,ID=ISTEXCPM.instance_name).
Use the load module name containing the exit code for instance_name.
The following rules apply to multiple exit support:
- The base exit or a multiple exit cannot have the same name as
any other active exit. That is, no two load modules can have the same
name.
- Replacing the exit with a new module automatically renames the
instance to the name of the replacement module.
- When the exit routine is invoked for its primary function, all
instances are driven.
If active, the base exit is always called
first. The multiple instances are then called synchronously and in
arbitrary order.
There is no provision for invoking a particular
instance of the exit routine. For example, if there are three instances
of the exit routine (P1, P2, and P3), there is no provision to call
only P2. Any given invocation causes all three exits to be called.
- Only the address of the user field in the exit routine parameter
list is updated by VTAM between
calls to each instance.
Each instance has its own user field and
each instance is called with the address of its user field in the
parameter list. However, the other fields in the parameter list are
not reset by VTAM between calls
to each exit. As a consequence, changes to the parameter list by
one instance are apparent to successive instances.
- An instance of the exit routine is not given any information about
other instances nor about the order in which it is called. No formal
mechanism is provided for communication among instances of the exit
routine.
- Using the DISPLAY EXIT command, the base exit is displayed regardless
of its state. However, multiple exits that are inactive are not displayed.