gtps1m4tSystem Macros

SANQC-Define and Enqueue Resource, Signal Aware

Use this system macro to define a shared resource to the control program and to control access to the resource among entry control blocks (ECBs). The SANQC macro is similar to the ENQC macro. However, if the caller of the SANQC macro has to wait for access to the shared resource, the caller can be interrupted by a signal. This macro is used with the DEQC macro.

Required Authorizations
Key0 Restricted System Common Storage

X

Format




label
A symbolic name can be assigned to the macro statement.

BLOCK=address
If specified, this is the address of an 8-byte area that contains the name of the resource. BLOCK and LEVEL are mutually exclusive.

LEVEL=Dx
If specified, this is a file address reference word (D0-DF) that contains the name of the resource. BLOCK and LEVEL are mutually exclusive.

WAIT=label1
The label of an instruction that is given control if the ECB waited before gaining control of the resource. Otherwise, SANQC macro processing returns control to the next sequential instruction (NSI). WAIT and NOWAIT are mutually exclusive.

NOWAIT=label2
The label of an instruction to be given control if the named resource is already in use by another ECB. If specified and the resource is already in use, control is passed to the specified label without the ECB giving up control. NOWAIT and WAIT are mutually exclusive.

QUAL
Qualification of the resource name. The default value is U.

U
Subsystem qualification applies. The resource name is subsystem unique and is qualified by the database index (DBI) value for the subsystem.

S
Systemwide qualification applies. The resource name is not subsystem unique; that is, all ECBs in the TPF system that issue a SANQC macro with the same resource name and QUAL=S coded are enqueued on the same resource. If two SANQC or ENQC macros are issued with the same resource name, but different QUAL values are coded, two different resources are assumed to exist. The SANQC macro and its corresponding DEQC macro must have the same QUAL value coded.

EINTR=label3
The label of an instruction to be given control if SANQC macro processing is interrupted by a signal. When control is given to the instruction specified by the EINTR keyword, the caller does not have access to the shared resource. Because the caller does not have access to the shared resource, a system error results if the DEQC macro is called.

Entry Requirements

Return Conditions

Programming Considerations

Examples

None.