Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (C)
Guardian Procedure Calls Reference Manual—522629-013
3-4
CANCEL Procedure
Parameters
filenum input
INT:value
is the number of an open file whose oldest incomplete operation you want to
cancel.
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 should 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.
Condition Code Settings
< (CCL) indicates that an error occurred (call FILE_GETINFO_ or FILEINFO).
= (CCE) indicates that the operation was canceled.
> (CCG) does not return from CANCEL.
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. Refer to
the
Guardian Procedure Errors and Messages Manual for details about system
message-38.
Related Programming Manual
For programming information about the CANCEL procedure, refer to the Guardian
Programmer’s Guide
.