aio_cancel(2) aio_cancel(2)
NAME [Toc] [Back]
aio_cancel() - cancel an asynchronous I/O operation
SYNOPSIS [Toc] [Back]
#include <aio.h>
int aio_cancel(int fildes, struct aiocb *aiocbp);
DESCRIPTION [Toc] [Back]
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
outstanding 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 canceled 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 [Toc] [Back]
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 successfully canceled.
AIO_NOTCANCELED [Toc] [Back]
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 completed before cancellation
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
aio_cancel(2) aio_cancel(2)
could be attempted.
-1 Failure. The requested cancellation could not be
initiated. errno is set to indicate the error.
ERRORS [Toc] [Back]
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 [Toc] [Back]
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 [Toc] [Back]
aio_cancel(): POSIX Realtime Extensions, IEEE Std 1003.1b
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003 [ Back ] |