Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)

System Functions (n - p) PUT_CANCEL(2)
Considerations
Queue files If a PUT_READUPDATELOCKX() function operation is canceled using the
PUT_CANCEL() function, the PUT_READUPDATELOCKX() call might
already have deleted a record from the queue file, which could result in the loss
of a record from the queue file. For audited queue files only, your application
can recover from a timeout error by calling the
PUT_ABORTTRANSACTION() function, when detecting Guardian file-
system 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 the Guardian AWAITIOX procedure with a time
limit greater than 0 (zero) if a PUT_READUPDATELOCKX() call is pending.
The PUT_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 mes-
sages. 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.
RETURN VALUES
The PUT_CANCEL() function returns 0 (zero) upon successful completion. Otherwise, this
function returns a nonzero Guardian file-system error number that indicates the outcome of the
operation.
For information about Guardian file-system error numbers, see the Guardian Procedure Errors
and Messages Manual.
ERRORS
None. This function does not set the errno variable.
RELATED INFORMATION
Functions: PUT_CONTROL(2), PUT_FILE_CLOSE_(2), PUT_FILE_OPEN_(2),
PUT_LOCKFILE(2), PUT_LOCKREC(2), PUT_READLOCKX(2),
PUT_READUPDATELOCKX(2), PUT_READUPDATEX(2), PUT_READX(2),
PUT_SETMODE(2), PUT_UNLOCKFILE(2), PUT_UNLOCKREC(2),
PUT_WRITEREADX(2), PUT_WRITEUPDATEUNLOCKX(2),
PUT_WRITEUPDATEX(2), PUT_WRITEX(2).
527186-023 Hewlett-Packard Company 5189