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) for a
description of the aiocb
Normal asynchronous notification occurs for canceled requests (see aio
(7)). The request return status (aio_return
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
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
- All requests had already been completed before the call.
- An error occurred. The cause of the error can be found by inspecting
- 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