aio_cancel — cancel an outstanding asynchronous I/O request
#include <aio.h>
int
aio_cancel( |
int | fd, |
struct aiocb * | aiocbp) ; |
The aio_cancel
() 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.
Normal asynchronous notification occurs for canceled requests. The request return status is set to −1, and the request error status is set to ECANCELED. The control block of requests that cannot be canceled is not changed.
If aiocbp
is not
NULL, and fd
differs
from the file descriptor with which the asynchronous
operation was initiated, unspecified results occur.
Which operations are cancellable is implementation-defined.
This function returns AIO_CANCELED
if all requests were
successfully canceled. It returns AIO_NOTCANCELED
when 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). This function
returns AIO_ALLDONE
when all
requests had been completed already before this call. When
some error occurs, −1 is returned, and errno
is set appropriately.
aio_error(3), aio_fsync(3), aio_read(3), aio_return(3), aio_suspend(3), aio_write(3)
|