This general macro combines the functions of the RELCC and RELFC
macros. The storage block specified by the designated core block
reference word (CBRW) is released from the entry control block (ECB) and
returned to the appropriate available working storage pool. The pool
file address specified by the designated file address reference word (FARW) is
returned to the available pool of file records. The macro service
determines the record size and the file record address type (short-or
long-term file storage).
Format
- label
- A symbolic name can be assigned to the macro statement.
- datalevel
- The ECB data level (D0-DF) holding the storage block and file
address to be returned.
- DECB=(reg)|label1
- The label or general register (R0-R7) containing the address of the
data event control block (DECB) holding the storage block and file address to
be returned.
Entry Requirements
- R9 must contain the address of the ECB being processed.
- A storage block must be held by the ECB on the specified ECB data level or
DECB.
- A pool file address must be held by the ECB on the specified ECB data
level or DECB.
Return Conditions
- Control is returned to the next sequential instruction.
- The contents of R14 and R15 are unknown. The contents of all other
registers are preserved across this macro call.
- The specified CBRW is set to indicate that the storage block is no longer
held.
Programming Considerations
- This macro can be run on any I-stream.
- Separate invocations of this macro must be made for each storage
block/pool address to be released.
- File pool support must be active when this macro is issued; the
system must be above Utility State.
- The macro service checks the CBRW of the specified ECB data level or DECB
to determine if a storage block is held. A system error dump is taken
if a block is not held and the entry is exited.
- Storage blocks should be released by the user as soon as possible.
- All pool addresses obtained by GETSC, GETLC, and GETFC must ultimately be
released by a RELFC or RCRFC macro.
- No pool file address can be released more than once. A system error
dump is taken if a block is released twice.
- TPF transaction services processing affects RCRFC macro processing in the
following ways:
- The file address is released only at commit time.
- After the TXRBC macro has completed successfully, file address release
requests are discarded and file addresses are not released.
- If a system error occurs, processing ends as if a TXRBC macro was
issued.
- If the location of the data event control block specified by the DECB
parameter does not refer to a valid DECB, control is transferred to the system
error routine.
Examples
None.