Guardian Procedure Calls Reference Manual

Considerations
Queue files
If a READUPDATELOCK[X] operation is canceled using the CANCEL procedure, the
READUPDATELOCK[X] might already have deleted a record from the queue file, which could
result in a loss of a record from the queue file. For audited queue files only, your application
can recover from a timeout error by calling the ABORTTRANSACTION procedure, when
detecting error 40, to ensure that any dequeued records are reinserted into the file. For
nonaudited queue files, there is no recovery of a lost record. Thus, your application must never
call AWAITIO[X] with a time limit greater than 0D if READUPDATELOCK[X] is pending. The
ABORTTRANSACTION recovery procedure does not work on nonaudited queue files.
Messages
The server process (that is, a process that was opened and to which the I/O request was sent)
receives a system message -38 (queued message cancellation) that identifies the canceled I/O
request, if it has requested receipt of such messages. If the server has already replied to the I/O
request, message -38 is not delivered. For details about system message -38, see the Guardian
Procedure Errors and Messages Manual.
Related Programming Manual
For programming information about the CANCEL procedure, see the Guardian Programmer's
Guide.
112 Guardian Procedure Calls (C)