HP-UX Reference (11i v1 00/12) - 2 System Calls (vol 5)
__________________________________________________________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________________________________________________________
STANDARD Printed by: Nora Chuang [nchuang] STANDARD
/build/1111/BRICK/man2/!!!intro.2
________________________________________________________________
___ ___
a
aio_cancel(2) aio_cancel(2)
NAME
aio_cancel() - cancel an asynchronous I/O operation
SYNOPSIS
#include <aio.h>
int aio_cancel(int fildes, struct aiocb *aiocbp);
DESCRIPTION
The aio_cancel() function attempts to cancel the asynchronous I/O request currently outstanding for
the aiocb referenced by aiocbp or, if aiocbp is NULL, any asynchronous I/O operations currently out-
standing for the file descriptor fildes.
If an asynchronous I/O operation is successfully canceled as a result of aio_cancel , its status is set to
ECANCELED, and any signal delivery specified for that operation is performed. Any outstanding requests
that cannot be canceled as a result of the aio_cancel() remain enqueued and are unaffected by the
cancellation request.
Asynchronous I/O operations that are requested as a single logical operation are either completed or can-
celed atomically. Once any portion of the operation has started, it cannot be canceled. Whether or not and
when an asynchronous I/O operation can be canceled depends on the nature of the request.
If aiocbp is not NULL, fildes is ignored.
To use this function, link in the realtime library by specifying -lrt on the compiler or linker command
line.
RETURN VALUE
The aio_cancel() function returns one of the following values:
AIO_CANCELED
The asynchronous I/O operation enqueued for the aiocb referenced by aiocbp or all
asynchronous I/O operations enqueued for the file referenced by fildes have been suc-
cessfully canceled.
AIO_NOTCANCELED
The asynchronous I/O operation enqueued for the aiocb referenced by aiocbp or at
least one of the asynchronous I/O operations enqueued for the file referenced by fildes
have not been canceled. (The
aio_error() function must be used to determine the
status of individualoperations.)
AIO_ALLDONE
The asynchronous I/O operation enqueued for the aiocb referenced by aiocbp or all
of the asynchronous I/O operations enqueued for the file referenced by fildes com-
pleted before cancellation could be attempted.
-1 Failure. The requested cancellation could not be initiated. errno is set to indicate
the error.
ERRORS
If aio_cancel() detects one of the following error conditions, errno is set to the indicated value:
[EBADF] The aiocbp argument is NULL and the fildes argument is not a valid file descriptor.
[EINVAL] There was no asynchronous I/O operation enqueued for the
aiocb referenced by
aiocbp.
SEE ALSO
aio_error(2), aio_fsync(2), aio_read(2), aio_return(2), aio_suspend(2), aio_write(2), lio_listio(2), aio(5).
STANDARDS CONFORMANCE
aio_cancel() : POSIX Realtime Extensions, IEEE Std 1003.1b
HP-UX Release 11i: December 2000 − 1 − Section 2−−11
___
___