AIO_CANCEL(2) System Calls Manual AIO_CANCEL(2)

aio_cancelcancel an outstanding asynchronous I/O operation (REALTIME)

Standard C Library (libc, -lc)

#include <aio.h>

aio_cancel(int fildes, struct aiocb *aiocbp);

The () system call cancels the outstanding asynchronous I/O request for the file descriptor specified in fildes. If aiocbp is specified, only that specific asynchronous I/O request is cancelled.

Normal asynchronous notification occurs for cancelled requests. Requests complete with an error result of ECANCELED.

The () system call does not cancel asynchronous I/O requests for raw disk devices. The aio_cancel() system call will always return AIO_NOTCANCELED for file descriptors associated with raw disk devices.

The aio_cancel() system call returns -1 to indicate an error, or one of the following:

All of the requests meeting the criteria have finished.
All outstanding requests meeting the criteria specified were cancelled.
Some requests were not cancelled, status for the requests should be checked with aio_error(2).

An error return from aio_cancel() indicates:

The fildes argument is not a valid file descriptor.

aio_error(2), aio_read(2), aio_return(2), aio_suspend(2), aio_write(2), aio(4)

The aio_cancel() system call is expected to conform to the IEEE Std 1003.1 (“POSIX.1”) standard.

The aio_cancel() system call first appeared in FreeBSD 3.0. The first functional implementation of aio_cancel() appeared in FreeBSD 4.0.

This manual page was originally written by Wes Peters ⟨⟩. Christopher M Sedore ⟨⟩ updated it when aio_cancel() was implemented for FreeBSD 4.0.

January 19, 2000 macOS 14.5