Provided by: libaio-dev_0.3.113-6build1.1_amd64 bug

NAME

       io_cancel - Cancel io requests

SYNOPSIS

       #include <errno.h>

       #include <libaio.h>

       int io_cancel(io_context_t ctx, struct iocb *iocb);

       struct iocb {
            void      *data; /* Return in the io completion event */
            unsigned  key; /* For use in identifying io requests */
            short          aio_lio_opcode;
            short          aio_reqprio;   /* Not used */
            int       aio_fildes;
       };

DESCRIPTION

       Attempts  to  cancel  an  iocb  previously  passed  to  io_submit(3).   If  the operation is successfully
       cancelled, the resulting event is copied into the memory pointed to by result without being  placed  into
       the completion queue.

       When one or more requests are asynchronously processed, it might be useful in some situations to cancel a
       selected  operation,  e.g.,  if  it becomes obvious that the written data is no longer accurate and would
       have to be overwritten soon.  As an example, assume an application, which  writes  data  in  files  in  a
       situation where new incoming data would have to be written in a file which will be updated by an enqueued
       request.

RETURN VALUES

       0 is returned on success, otherwise returns errno.

ERRORS

       EFAULT If any of the data structures pointed to are invalid.

       EINVAL If aio_context specified by ctx is invalid.

       EAGAIN If the iocb specified was not cancelled.

       ENOSYS If not implemented.

SEE ALSO

       io(3),    io_fsync(3),    io_getevents(3),    io_prep_fsync(3),    io_prep_pread(3),   io_prep_pwrite(3),
       io_queue_init(3),    io_queue_release(3),    io_queue_run(3),    io_queue_wait(3),    io_set_callback(3),
       io_submit(3), errno(3).

Linux                                              2019-07-23                                       io_cancel(3)