Use this system macro to permit the transaction manager (TM) and resource
managers (RMs) to control the writing of information to the recovery
log. The recovery log is used by the TPF system in association with TPF
transaction services. Recovery log support is general in nature and is
designed to be extended to support the recovery of additional resources such
as message and tape processing. Application-specific resources can also
use the recovery log to become part of the recoverable resources.
Required Authorizations
|
Key0
| Restricted
| System
| Common Storage
|
| X
|
|
|
Format
- CONTROL=Rx
- A register (R1-R6, R14) that contains the address of the control or
header information that is part of the transaction log record. This
parameter is required.
- DATALIST=Ry
- A register (R1-R6, R14) that contains the address of a list of data
elements that will be written to the transaction log. This parameter is
required.
- TMCR=Rz
- A register (R1-R6, R14) that contains a pointer to the transaction
manager control record (TMCR) associated with this write request. This
parameter is optional and, if not coded, will cause the WLOGC service to
calculate the address of the TMCR.
- WAKEUP
- This is a special parameter whose use is restricted to the CL22
program. This parameter permits the CL22 program to link to the WLOGC
service routine to reactivate resources that are waiting. The following
resources are processed:
- WAITERS
- Wake up WLOGC requesters, which are waiting for buffer input/output (I/O)
to be completed.
- UNBLOCK
- Wake up WLOGC requesters, which are waiting for WLOGC processing to
continue. WLOGC processing is blocked when all buffers are in
use.
- BUFFER=Rz
- A register (R1-R6, R14) that contains a pointer to the buffer
associated with the WAKEUP request. This parameter is required when you
code WAKEUP=WAITERS.
Entry Requirements
- For control program (CP) calls, R9 must point to the ECB that is being
processed unless you coded the TMCR parameter.
- The control area is defined by ILHDR(ICRCT) and requires that the caller
initiate the following fields.
- For Both the ECB-Controlled and CP Program Calls:
- Field
- Description
- ILH_FLAG
- A flag field that identifies the set of WLOGC requests associated with the
commit scope and requests services from the log manager. The following
indicators are required.
- Indicator
- Description
- ILH_FWR
- First WLOGC request for the commit scope.
- ILH_LWR
- Last WLOGC request for the commit scope.
Single requests must have both ILH_FWR and ILH_LWR set on.
Middle requests must have both ILH_FWR and ILH_LWR set off.
- ILH_WAIT
- Indicates that the log manager is to flush the current log buffers out to
the recovery log and that the caller wants to wait until all I/O is completed
successfully.
- ILH_XID
- Commit scope or global transaction ID.
- ILH_PROG
- The name of the TM or RM program that will be activated during log
recovery.
- For the CP Program Calls:
- Field
- Description
- ILH_PIA
- The postinterrupt address of the RM routine to get control when WLOGC
becomes unblocked.
- For the CP Program Calls With ILH_WAIT Indicated:
- Field
- Description
- ILH_PIA2
- The postinterrupt address of the RM routine to get control when WLOGC I/O
is completed successfully.
- ILH_TOK
- A 4-byte token that will be returned to the postinterrupt routine, which
is defined by ILH_PIA2, on activation.
- ILH_PIN
- An index value (processor ordinal number X 4) for the processor to write
to.
- ILH_ISN
- The I-stream number on which the postinterrupt routine gets
control.
- The data list is defined by ILRDA(ICRCT) and requires the caller to
initialize the following fields.
- Field
- Description
- ILR_CNT
- Count of data items to log with this request. Multiple data items
may exist, giving the RM the ability to log multiple pieces of a data with one
WLOGC call.
- ILR_LEN
- The length of the data item to log.
- ILR_LOC
- The location of the data item to log.
Return Conditions
- Control is returned to the next sequential instruction (NSI).
- The contents of R0-R7 are preserved across this macro call.
- The condition code (CC) is not preserved across the macro call.
- For CP program calls, the macro service routine sets R14 to contain a
hexadecimal return code.
- Return Code
- Meaning
- R14=0
- The recovery log write has been completed successfully.
- R14=-1
- The request was rejected; the WLOGC macro is blocked because of an
out-of-buffer condition.
Programming Considerations
Examples
The following is an example of how to write to the recovery log.
WLOGC CONTROL=R2,DATALIST=R3