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.
7−332 Hewlett-Packard Company 527186-023