HP-UX Reference (11i v3 07/02) - 2 System Calls (vol 5)
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 individual operations.)
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
40 Hewlett-Packard Company − 1 − HP-UX 11i Version 3: February 2007