aio_cancel, aio_cancel64 - cancel an asynchronous I/O request
int aio_cancel(int fildes, aiocb_t *aiocbp);
int aio_cancel64(int fildes, aiocb64_t *aiocbp);
The aio_cancel() function attempts to cancel one or more asynchronous I/O
requests currently outstanding against file descriptor fildes. The aiocb
argument points to the asynchronous I/O control block for a particular
request to be canceled. If aiocbp is NULL, then all outstanding
cancelable asynchronous I/O requests against fildes are canceled.
The aio_cancel64() function is identical to aio_cancel() except that it
takes an aiocb64_t * (see <aio.h>). This structure allows for the
specification of a file offset greater than 2 Gigabytes. The user must
define _ABI_SOURCE and include -labi to access the aio64 routines.
Normal signal delivery shall not occur for asynchronous I/O operations
that are successfully canceled. If there are requests which can not be
canceled, then the normal asynchronous completion process shall take
place for those requests when they are completed.
For requested operations that are successfully canceled the associated
error status is set to ECANCELED and the return status is -1. For
requested operations that are not successfully canceled the aiocbp is not
modified by aio_cancel().
If aiocbp is no NULL, then if fildes does not have the same value as the
file descriptor with which the asynchronous operation was initiated,
unspecified results occur.
aio_read(3), aio_write(3), aio_sgi_init(3).
The aio_cancel() function returns the value AIO_CANCELED to the calling
process if the requested operation(s) were canceled. The value
AIO_NOTCANCELED is returned if at least one of the requested operation(s)
can not be canceled because it is in progress. In this case, the state of
the other operations, if any, referenced in the call to aio_cancel() is
not indicated by the return value of aio_cancel(). The application may
determine the state of affairs for these operations by using aio_error().
The value AIO_ALLDONE is returned if all of the operations have already
completed. Otherwise, the function shall return -1, and sets errno to
indicate the error.
If any of the conditions below occur, the aio_cancel() function shall
return -1 and set errno to the corresponding value.
[EBADF] The fildes argument is not a valid file descriptor.
PPPPaaaaggggeeee 2222 [ Back ]