Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)

SPT_READUPDATELOCKX(2) OSS System Calls Reference Manual
Nowait I/O and SPT_READUPDATELOCKX()
The SPT_READUPDATELOCKX() function must complete with a
corresponding call to the Guardian AWAITIOX procedure when used with a file
that is opened for nowait I/O.
Use on nondisk files
If SPT_READUPDATELOCKX() 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
SPT_READUPDATELOCKX() 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 SPT_READUPDATELOCKX() is rejected with Guardian
file-system error 11.
Queue files To use SPT_READUPDATELOCKX(), you must open a queue file with write
access and with a sync_or_receive_depth of 0 (zero).
Location of buffer and count_read
The buffer and count transferred can be in the user stack or in an extended data
segment. The buffer and count_read cannot be in the user code space.
If the buffer and count_read is in a selectable extended data segment, the seg-
ment must be in use at the time of the call. Flat segments allocated by a process
are always accessible to the process.
Use on files opened for nowait I/O
If 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 the Guardian AWAITIOX procedure or is canceled by a
call to the SPT_CANCEL() function or the Guardian CANCELREQ
procedure.
You must not modify the buffer before the I/O completes with a call to
the Guardian AWAITIOX procedure. This restriction also applies to
other processes that might be sharing the segment. It is the application’s
responsibility to ensure this.
If you initiated the I/O with SPT_READUPDATELOCKX(), the I/O
must be completed with a call to the Guardian AWAITIOX procedure.
A selectable extended data segment containing the buffer need not be in
use at the time of the call to AWAITIOX.
You can cancel nowait I/O initiated with
SPT_READUPDATELOCKX() with a call to SPT_CANCEL( ) or
CANCELREQ. The I/O is canceled if the file is closed before the I/O
completes or if the Guardian AWAITIOX procedure is called with a
positive time limit and specific file number and the request times out.
7332 Hewlett-Packard Company 527186-023