Provided by: manpages-dev_3.35-0.1ubuntu1_all bug

NAME

       aio_cancel - cancel an outstanding asynchronous I/O request

SYNOPSIS

       #include <aio.h>

       int aio_cancel(int fd, struct aiocb *aiocbp);

       Link with -lrt.

DESCRIPTION

       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.   (See  aio(7)  for  a
       description of the aiocb structure.)

       Normal  asynchronous  notification  occurs  for canceled requests.  The
       request return status (aio_return(3)) is set to  -1,  and  the  request
       error  status (aio_error(3)) 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 cancelable is implementation-defined.

RETURN VALUE

       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 if  all  requests  had  already  been
       completed  before  this  call.  When some error occurs, -1 is returned,
       and errno is set appropriately.

ERRORS

       EBADF  fd is not a valid file descriptor.

VERSIONS

       The aio_cancel() function is available since glibc 2.1.

CONFORMING TO

       POSIX.1-2001, POSIX.1-2008.

EXAMPLE

       See aio(7).

SEE ALSO

       aio_error(3), aio_fsync(3), aio_read(3), aio_return(3), aio_suspend(3),
       aio_write(3), lio_listio(3), aio(7)

COLOPHON

       This  page  is  part of release 3.35 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://man7.org/linux/man-pages/.

                                  2011-10-04                     AIO_CANCEL(3)