Open System Services System Calls Reference Manual (G06.28+)
System Functions (s and S) SPT_WRITEUPDATEUNLOCKX(2)
Invalid write operations to queue files
DP2 rejects SPT_WRITEUPDATEUNLOCKX()
operations
with a Guardian file-system error 2.
Location of buffer and count_written
The buffer and count transferred can be in the user stack or in an
extended data segment. The buffer and count_written cannot be
in the user code space.
If the buffer and count_written 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
deallocate or reduce the size of the extended data seg-
ment before the I/O completes with a call to the Guar-
dian AWAITIOX procedure or is canceled by a call to
the SPT_CANCEL() function or the Guardian CAN-
CELREQ 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 responsibil-
ity to ensure this.
• If the I/O has been initiated with
SPT_WRITEUPDATEUNLOCKX(), 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_WRITEUPDATEUNLOCKX() can be canceled
with a call to SPT_CANCEL() or CANCELREQ. The
I/O is canceled if the file is closed before the I/O com-
pletes or if the Guardian AWAITIOX procedure is called
with a positive time limit and specific file number and
the request times out.
Bounds checking
If the extended address of buffer is odd, bounds checking rounds
the address to the next lower word boundary and checks an extra
byte as well. The odd address is used for the transfer.
All considerations for SPT_WRITEUPDATEX() also apply to this call.
527186-005 Hewlett-Packard Company 7−341