Open System Services System Calls Reference Manual (G06.28+)
System Functions (s and S) SPT_READUPDA
TELOCKX(2)
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 nowait.
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(), a queue file must be opened 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 the I/O has been initiated with SPT_READUPDATELOCKX(), the
I/O must be completed with a call to the Guardian AWAITIOX pro-
cedure.
• 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 SPT_READUPDATELOCKX() can be can-
celed with a call to SPT_CANCEL() or CANCELREQ. The I/O is can-
celed 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.
527186-005 Hewlett-Packard Company 7−241