Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (R)
Guardian Procedure Calls Reference Manual—522629-013
13-37
READUPDATELOCK[X] Procedures
READUPDATELOCKX is used, the user must call the AWAITIOX procedure to
complete the I/O. If READUPDATELOCK is used, the user may use either
AWAITIO or AWAITIOX to complete the I/O.
•
If READUPDATELOCK[X] is performed on nondisk files, an error is returned.
•
Random processing
For key-sequenced, relative, and entry-sequenced files, random processing
implies that a designated record must exist. Therefore, positioning for
READUPDATELOCK[X] is always to the record described by the exact value of the
current key and current-key specifier. If such a record does not exist, the call to
READUPDATELOCK[X] is rejected with file-system error 11.
•
See “Considerations” for the LOCKREC procedure.
•
See “Disk File Considerations” for the READUPDATE procedure.
•
Queue files
To use READUPDATELOCK[X], a queue file must be opened with write access
and with a
sync-or-receive-depth of 0.
Considerations for READUPDATELOCKX Only
•
The buffer and count transferred may be in the user stack or in an extended data
segment. The buffer and count transferred cannot be in the user code space.
•
If the buffer or count transferred is in a selectable extended data segment, the
segment must be in use at the time of the call. Flat segments allocated by a
process are always accessible to the process.
•
If the file is opened for nowait I/O, and the buffer is in an extended data segment,
you cannot deallocate or reduce the size of the extended data segment before the
I/O completes with a call to AWAITIOX or is canceled by a call to CANCEL or
CANCELREQ.
•
If the file is opened for nowait I/O, you must not modify the buffer before the I/O
completes with a call to AWAITIOX. This also applies to other processes that may
be sharing the segment. It is the application’s responsibility to ensure this.
•
If the file is opened for nowait I/O, and the I/O has been initiated with these
routines, the I/O must be completed with a call to AWAITIOX (not AWAITIO).
•
If the file is opened for nowait I/O, a selectable extended data segment containing
the buffer need not be in use at the time of the call to AWAITIOX.
•
Nowait I/O initiated with these routines may be canceled with a call to CANCEL or
CANCELREQ. The I/O is canceled if the file is closed before the I/O completes or
AWAITIOX is called with a positive time limit and specific file number and the
request times out.