Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
ISGNQXITQUEUED1 — ISGENQ / ENQ / DEQ First Queued Exit z/OS MVS Installation Exits SA23-1381-00 |
|
ISGNQXITQUEUED1 is called when all the elements of an ENQ (not DEQ) request have completed local processing or have been queued to the global processor. The exit is called just prior to waiting (for unconditional requests that have not been granted) or returning to the ENQ requester. ISGNQXITQUEUED1 is called for both successful and unsuccessful cases. However it is not called at all if neither the batch nor batch conditional exits were called. See ENQ/DEQ Exits Installation in z/OS MVS Planning: Global Resource Serialization for the installation flow through ENQ/DEQ exits. The parameter list passed to ISGNQXITQUEUED1 is mapped by ISGYNQQP (NQQP). The request data presented to ISGNQXITQUEUED1 are read only. Information contained in NQQP includes return codes that have been set for the local resources, the ABEND code if the request failed, and whether the request needs to be suspended for RNL processing. Note:
Replacing the Exit RoutineUnlike RNL changes, GRS does not know how an exit alters the resource identity of a request. Therefore, to maintain data integrity, do not make an exit change that alters the resource identity of any outstanding or in-flight ENQ or DEQ requests. The resource identity consists of the QNAME, RNAME, SCOPE, and hardware reserve status. When you make exit changes, first stop the programs that are currently using the resource, and do not resume the programs until all the exit changes in the GRS complex have completed. For information regarding dynamic exit routine replacement, see Replacing a Dynamic Exit Routine. Exit Routine EnvironmentISGNQXITQUEUED1
receives control in the following environment:
Exit Recovery is as follows.
Exit Routine ProcessingThe ISGNQXITQUEUED1 exit point is called after the local resources in an ENQ/RESERVE rquest have been completed and the global resources have been queued to the global resource serialization address space for global processing. DEQ requests are not passed to ISGNQXITQUEUED1 exit routines. The exit routine is passed a NQQP (mapped by ISGYNQQP) which contains information about the request. If the request is going to ABEND, the ABEND code is indicated. An indicator is set if the request will be redriven due to a dynamic RNL change processing. Only SCOPE=SYSTEM and SYSTEMS resources are passed to the exit (STEP requests are not passed to the exit). The NQQP is followed by one NQQPRSC entry for each resource in the request. Each NQQPRSC entry indicates the result for each local ENQ resource, or the fact that the request has been queued, for each global resource. Programming ConsiderationsMost of the exits that are driven for a request are provided with a unique "request token". This token allows the exits to correlate any required user information between exit callers. For example, the Nqqp_RD_RequestToken will be the same as the Nqxp_RequestToken if both the ISGNQXITQUEUED1 and ISGNQXITFAST exits are driven for the same request. Observe the following conventions when coding
an ENQ/DEQ First Queued exit routine:
Entry SpecificationsThe system passes a NQQP parameter list to the exit routine. Registers at Entry: The contents of the registers on entry to the exit are as follows.
Parameter List Contents: Register 1 contains the address of the exit parameter (NQQP) that is mapped by macro ISGYNQQP. Refer to z/OS MVS Data Areas in z/OS Internet Library at http://www.ibm.com/systems/z/os/zos/bkserv/ for the mapping of the ISGYNQQP data area. Return SpecificationsRegisters at Exit: Upon return from the exit processing, the register contents must be as follows.
|
Copyright IBM Corporation 1990, 2014
|