gtpg2m3g | General Macros |
This general macro combines the functions of the RELCC and UNFRC macros. It releases the storage block referenced by the specified core block reference word (CBRW) from the entry control block (ECB) and returns it to the appropriate available storage pool. Then it releases the hold on the file record address referred to by the corresponding file address reference word (FARW).
The CBRW is made available for use, and the FARW is unchanged. If another entry has a request pending to find and hold the file record concerned, it is activated by this macro.
Format
|
Entry Requirements
Return Conditions
When the commit scope ends with a tx_commit function call, all pending DASD writes are written to the media requested (VFA, DASD control unit cache, or the DASD surface). After the DASD writes are completed successfully, locks are released to the system. At this point the locks can be granted to other ECBs that are not in the commit scope.
When the commit scope ends with a tx_rollback function, all pending DASD writes are discarded. The RCUNC macro works differently depending on whether the lock was acquired as part of the current commit scope or before the current commit scope. If the lock was acquired before the current commit scope, the RCUNC macro is ignored when the TXRBC macro is called. This leaves the lock held by the ECB, perhaps as part of a previous commit scope. If the lock was acquired during the current commit scope, both the acquiring of the lock and its release are rolled back and the lock is immediately available. If the commit scope being rolled back is nested inside a higher-level commit scope, the lock (hold) may be released to either the TPF system or to the higher-level commit scope depending on whether the lock was previously part of the higher-level commit scope.
Programming Considerations
Examples