This general macro suspends further processing of an entry until all
pending input and output requests in process for the entry have been
serviced. If a hardware error or unusual condition occurs, a transfer
to an ECB program error routine specified by the macro parameters results on
return from the WAITC service.
Format
- label
- A symbolic name may be assigned to the macro statement.
- error_label
- The label of an error routine in the current program segment.
Entry Requirements
R9 must contain the address of the ECB being processed.
Return Conditions
- Control is returned to the next sequential instruction for successfully
completed I/O operations.
- If a hardware error or an unusual condition occurred, control is given to
the error routine specified by error_label.
- Note:
- For I/O hardware errors, the system has taken a storage dump and informed
CRAS. Detailed information has been stored in the ECB.
- The contents of R14 and R15 are unknown. The contents of all other
registers are preserved across this macro call.
Programming Considerations
- A single WAITC can be used to handle multiple I/O requests.
- If no I/O is pending, there is no loss of control by the entry.
- Pending I/O is tracked in the ECB CE1IOC field.
- All input and output operations that post status back to the entry
require running WAITC.
- On output operations where the data is detached from the ECB at macro
service time, the program cannot determine when I/O operations are completed
and no I/O tracking is maintained; therefore, a WAITC is not
needed.
- If I/O is pending for this entry, following the execution of this macro,
control may be transferred to another entry (ECB). This may result in a
transfer to the same program, or another program, on behalf of another
entry. This is why this programs must be reentrant.
- Running this macro resets the 500-millisecond program time-out if I/O
operations are pending for this ECB.
- Successful completion of a WAITC on 3480 buffered tape writes indicates
the data has been written into the control unit buffer but not physically to
the tape.
- This macro can be executed on any I-stream.
Examples
None.