Open System Services System Calls Reference Manual (G06.28+, H06.05+)
SPT_READUPDATELOCKX(2) OSS System Calls Reference Manual
Considerations
Buffer use SPT_READUPDATELOCKX() is intended for use with 32-bit
extended addresses. Therefore, the data buffer for
SPT_READUPDATELOCKX() can be either in the caller’s stack seg-
ment or any extended data segment.
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 process-
ing 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
segment 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 deallo-
cate 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 seg-
ment. 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.
7−246 Hewlett-Packard Company 527186-007