This general macro is used to define to the control program a shared
resource and to control access to the resource among ECBs. The macro
returns control to the calling ECB only when the shared resource is available
for use by the ECB. This macro is used with the CORUC macro.
Format
Notes:
- resource
- label
- A symbolic name can be assigned to the macro statement.
- resource
- Is the 32-bit resource identification to be held, coded in either of the
following formats:
- (reg)
- A register which contains the 32-bit resource identification to be
held.
- label1
- A symbolic label that is a 4-byte field containing the 32-bit resource
identification to be held.
This parameter is optional. If it is not coded, R14 must contain the
32-bit resource identification to be held.
Entry Requirements
R9 must contain the address of the ECB being processed.
Return Conditions
- Control is returned to the next sequential instruction.
- The contents of R14 and R15 are unknown. The contents of R0-R7 are
preserved across this macro call.
Programming Considerations
- This macro can be executed on any I-stream.
- When finished with the resource, the ECB must issue an CORUC macro.
If the ECB exits holding a resource, a system error is issued and the resource
is freed.
- An error occurs if the ECB attempts to hold a resource which it is already
holding.
- The CORHC macro is similar to coding an ENQC macro with parameters of
TIMEOUT=0 and QUAL=S. This alternative to the ENQC macro is supplied to
provide compatibility for some existing applications.
Examples
None.