Guardian Procedure Calls Reference Manual
tag
input
INT(32): value
is for nowait I/O only. tag is a value you define that uniquely identifies the operation associated
with this READUPDATELOCK[X].
NOTE: The system stores the tag value until the I/O operation completes. The system then
returns the tag information to the program in the tag parameter of the call to AWAITIO[X],
thus indicating that the operation completed. If READUPDATELOCKX is used, you must call
AWAITIOX to complete the I/O. If READUPDATELOCK is used, you may use either AWAITIO
or AWAITIOX to complete the I/O.
Condition Code Settings
indicates that an error occurred (call FILE_GETINFO_ or FILEINFO).< (CCL)
is also returned following a successful read with an insertion-ordered alternate key path if the alternate
key value of the current record is equal to the alternate key value in this record along that path. A call
< (CCL)
to FILE_GETINFO_ or FILEINFO shows that an error 551 occurred; this error is advisory only and does
not indicate an unsuccessful read operation.
indicates that the READLOCK[X] is successful.= (CCE)
does not return from READUPDATELOCK[X] for disk files.> (CCG)
Considerations
• Nowait I/O and READUPDATELOCK[X]
The READUPDATELOCK[X] procedure must complete with a corresponding call to the
AWAITIO[X] procedure when used with a file that is opened nowait. If READUPDATELOCKX
is used, the user must call the AWAITIOX procedure to complete the I/O. If READUPDATELOCK
is used, the user may use either AWAITIO or AWAITIOX to complete the I/O.
WARNING! When using nowait file I/O, data corruption might occur if the READ buffer is
modified before the AWAITIOX that completes the call. The buffer space must not be freed or
reused while the I/O is in progress.
• If READUPDATELOCK[X] 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 READUPDATELOCK[X] 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 READUPDATELOCK[X] is rejected with file-system error 11.
• See the LOCKREC procedure Considerations (page 776).
• See the READUPDATE[X|XL] procedure Considerations (page 1216).
• Queue files
To use READUPDATELOCK[X], a queue file must be opened with write access and with a
sync-or-receive-depth of 0.
• Performing concurrent large no-wait I/O operations on NSAA systems
In H06.28/J06.17 RVUs with specific SPRs and later RVUs, reads and writes of up to 27,648
bytes can be performed on structured opens of format 2 legacy key-sequenced files and
enhanced key-sequenced files that have increased limits. (For a list of the required
H06.28/J06.17 SPRs, see SPR Requirements for Increased Enscribe Limits for the
H06.28/J06.17 Release (page 31).)
READUPDATELOCK[X] Procedures 1223