Call the Latch_Purge_by_Address_Space service to purge all granted and pending requests for a group of requestors for a group of latch sets in the same address space. To effectively use this service, your latch_set_names and your requestor_IDs should be defined such that they have a common portion and a unique portion. Groups of latch sets can then be formed by masking off the unique portion of the latch_set_name, and groups of latch requests in a latch set can then be formed by masking off the unique portion of the requestor_ID. Masking off the unique portion of the requestor_ID allows a single purge request to handle multiple latch sets and multiple requests in a latch set. Recovery routines should call Latch_Purge_by_Address_Space when one or more errors prevent requestors from releasing latches.
In the following description of Latch_Purge_by_Address_Space, equate symbols defined in the ISGLMASM macro are followed by their numeric equivalents; you may specify either when coding calls to Latch_Purge_by_Address_Space.
The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Supervisor state or PKM allowing key 0-7 |
Dispatchable unit mode: | Task or SRB |
Cross memory mode: | Any PASN, any HASN, any SASN |
AMODE: | 31-bit |
ASC mode: | Primary |
Interrupt status: | Enabled for I/O and external interrupts |
Locks: | No locks held |
Control parameters: | Control parameters must be accessible from the primary address space. |
*
* Latch Purge by Address Space Return Codes
*
ISGLPRG_SUCCESS EQU 0
ISGLPRG_DAMAGE_DETECTED EQU 4
ISGLPRG_INCORRECT_MASK EQU C
*
None.
Write the CALL as shown on the syntax diagram. You must code all parameters on the CALL statement in the order shown.
Latch_Purge_by_Address_Space returns a value in the return_code parameter.
Syntax | Description |
---|---|
CALL ISGLPBA |
|
All input to callable services is in the form of RX-type addresses.
The parameters are explained as follows:
The caller might encounter abend code X'9C6' for certain errors. See z/OS MVS System Codes for explanations and responses.
When the Latch_Purge_by_Address_Space service returns control to your program, the return_code contains a hexadecimal return code. The following table identifies return codes in hexadecimal and decimal (in parentheses), the equate symbol associated with each return code, the meaning of each return code, and a recommended action:
Return code and Equate Symbol | Meaning and Action |
---|---|
00 |
Meaning: The Latch_Purge_by_Address_Space
service completed successfully. Action: None. |
04 |
Meaning: Program error.
While purging all requests for a particular requestor from a latch
set, the latch manager found incorrect data in one or more latches.
The latch manager tries to purge the latches that contain incorrect
data, but the damage might prevent the latch manager from purging
those latches. The latch manager purges the remaining latches (those
with correct data) for the specified requestor. Action: Take a dump and check for a storage overlay. If your application can continue without the resources serialized by the damaged latches, no action is required. |