Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (A-B)
Guardian Procedure Calls Reference Manual—522629-013
2-46
AWAITIO[X] Procedures
segment-id output
INT .EXT:ref:1 (Use with AWAITIOX only)
returns the segment ID of the extended data segment containing the
buffer when
the operation was initiated. If the
buffer is not in a selectable segment,
segment-id is -1.
Condition Code Settings
< (CCL) indicates that an error occurred (call FILE_GETINFO_ or FILEINFO).
= (CCE) indicates that an I/O operation completed.
> (CCG) indicates that an I/O operation completed but a warning occurred (call
FILE_GETINFO_ or FILEINFO).
Considerations
•
Completing nowait calls
Each nowait operation initiated must be completed with a corresponding call to
AWAITIO[X].
•
If AWAITIO[X] is used to wait for completion (timelimit <> 0D) and a
particular file is specified (
filenum <> -1), then completing AWAITIO[X] for
any reason, except interruption by an OSS signal, is considered a completion:
if the I/O operation did not complete, error 40 is returned and the oldest I/O
operation against the file is canceled.
•
Queue files
If a nowait READUPDATELOCK[X] operation is used in conjuction with the
AWAITIO[X]
timelimit > 0D, the following occurs:
If the queue file timeout occurs prior to the time limit, the read request is
completed with error 162.
If the time limit expires prior to the queue file timeout, the
READUPDATELOCK[X] request is canceled. A canceled
READUPDATELOCK[X] can result in the loss of a record from the queue file. If
the time limit expires prior to the queue file timeout, the
READUPDATELOCK[X] request is canceled if it was a file-specific call (that is,
the file number is other than -1). With non file-specific calls,
READUPDATELOCK[X] is not canceled for the queue file. A canceled
READUPDATELOCK[X] can result in the loss of a record from the queue file.
For audited queue files, record loss can be avoided by performing an
ABORTTRANSACTION procedure, when detecting error 40, to ensure that any