aio_return - retrieve return status of an asynchronous I/O operation
ssize_t aio_return(struct aiocb *aiocbp);
The aio_return() function shall return the return status associated with the aiocb structure referenced by the aiocbp argument. The return status for an asynchronous I/O operation is the value that would be returned by the corresponding read(), write(), or fsync() function call. If the error status for the operation is equal to [EINPROGRESS], then the return status for the operation is undefined. The aio_return() function may be called exactly once to retrieve the return status of a given asynchronous operation; thereafter, if the same aiocb structure is used in a call to aio_return() or aio_error(), an error may be returned. When the aiocb structure referred to by aiocbp is used to submit another asynchronous operation, then aio_return() may be successfully used to retrieve the return status of that operation.
If the asynchronous I/O operation has completed, then the return status, as described for read(), write(), and fsync(), shall be returned. If the asynchronous I/O operation has not yet completed, the results of aio_return() are undefined.
If the aio_return() function fails, it shall return -1 and set errno to indicate the error.
The aio_return() function may fail if:
- The aiocbp argument does not refer to an asynchronous operation whose return status has not yet been retrieved.
aio_cancel, aio_error, aio_fsync, aio_read, aio_write, close, exec, exit, fork, lio_listio, lseek, read
First released in Issue 5. Included for alignment with the POSIX Realtime Extension.
The [ENOSYS] error condition has been removed as stubs need not be provided if an implementation does not support the Asynchronous Input and Output option.
The APPLICATION USAGE section is added.
The [EINVAL] error condition is made optional. This is for consistency with the DESCRIPTION.
SD5-XSH-ERN-148 is applied.
The aio_return() function is moved from the Asynchronous Input and Output option to the Base.
return to top of page