aio_cancel - cancel an outstanding asynchronous I/O request
int aio_cancel(int fd, struct aiocb *aiocbp);
Link with -lrt
() function attempts to cancel outstanding asynchronous I/O
requests for the file descriptor fd
. If aiocbp
is NULL, all such
requests are canceled. Otherwise, only the request described by the control
block pointed to by aiocbp
is canceled. (See aio(7)
description of the aiocb
Normal asynchronous notification occurs for canceled requests (see aio(7)
). The request return status (aio_return(3)
set to -1, and the request error status (aio_error(3)
) is set to
. The control block of requests that cannot be canceled is not
If the request could not be canceled, then it will terminate in the usual way
after performing the I/O operation. (In this case, aio_error(3)
return the status EINPROGRESSS
is not NULL, and fd
differs from the file descriptor
with which the asynchronous operation was initiated, unspecified results
Which operations are cancelable is implementation-defined.
() function returns one of the following values:
- All requests were successfully canceled.
- At least one of the requests specified was not canceled
because it was in progress. In this case, one may check the status of
individual requests using aio_error(3).
- All requests had already been completed before the
- An error occurred. The cause of the error can be found by
- fd is not a valid file descriptor.
- aio_cancel() is not implemented.
() function is available since glibc 2.1.
For an explanation of the terms used in this section, see attributes(7)
This page is part of release 4.13 of the Linux man-pages
description of the project, information about reporting bugs, and the latest
version of this page, can be found at