aio_cancel(3aio) aio_cancel(3aio)
NAME
aio_cancel - asynchronous cancel
SYNOPSIS
cc [options] -D_REENTRANT file -lthread
#include <aio.h>
struct aiocb *aio_cancel(int fildes, struct aiocb *aiocbp);
DESCRIPTION
aio_cancel allows you to cancel one or more outstanding
asynchronous I/O requests. fildes and key are used to
identify the asynchronous I/O requests that should be
canceled.
The aio_cancel function attempts to cancel one or more
asynchronous I/O requests currently outstanding against file
descriptor fildes. The aiocbp argument points to the
asynchronous I/O control block for a particular request to be
canceled. If aiocbp is NULL, all outstanding cancelable
asynchronous I/O requests agains fildes are canceled.
Normal notification occurs for asynchronous I/O operations
that are successfully canceled. If there are requests which
cannot be canceled, then the normal asynchronous completion
process shall take place for those requests when they are
completed.
For requested operations that are successfully canceled, the
associated error status is set to ECANCELED and the return
status is -1. For requested operations that are not
successfully canceled, the aiocbp is not modified by
aio_cancel.
If aiocbp is not NULL, and fildes does not have the same value
as the file descriptor with which the asynchronous operation
was initiated, unspecified results occur.
Return Values
The aio_cancel function returns the value AIO_CANCELED to the
calling process if the requested operation(s) were canceled.
The value AIO_NOTCANCELED is returned if at least one of the
requested operation(s) cannot be canceled because it is in
progress. In this case, the state of the other operations, if
any, referenced in the call to aio_cancel is not indicated by
the return value of aio_cancel. The application may determine
the state of affairs for these operations by using aio_error.
Copyright 1994 Novell, Inc. Page 1
aio_cancel(3aio) aio_cancel(3aio)
The value AIO_ALLDONE is returned if all of the operations
have already completed. Otherwise, the function returns -1,
and sets errno to indicate the error.
Errors
Under the following conditions, aio_cancel fails and sets
errno to:
EBADF fildes is not a valid file descriptor.
EINVAL no asynchronous I/O has ever been requested
for fildes
ENOSYS aio_cancel called on SVR4.2
REFERENCES
aiocb(5), aio_read(3aio), aio_suspend(3aio), aio_write(3aio)
Copyright 1994 Novell, Inc. Page 2