aio_error - retrieve errors status for an asynchronous I/O operation
int aio_error(const struct aiocb *aiocbp);
The aio_error() function shall return the error status associated with the aiocb structure referenced by the aiocbp argument. The error status for an asynchronous I/O operation is the errno value that would be set by the corresponding read(), write(), [SIO] fdatasync(), or fsync() operation. If the operation has not yet completed, then the error status shall be equal to [EINPROGRESS].
If the aiocb structure pointed to by aiocbp is not associated with an operation that has been scheduled, the results are undefined.
If the asynchronous I/O operation has completed successfully, then 0 shall be returned. If the asynchronous operation has completed unsuccessfully, then the error status, as described for read(), write(), [SIO] fdatasync(), and fsync(), shall be returned. If the asynchronous I/O operation has not yet completed, then [EINPROGRESS] shall be returned.
If the aio_error() function fails, it shall return -1 and set errno to indicate the error.
The aio_error() 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_fsync, aio_read, aio_return, 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.
Austin Group Interpretation 1003.1-2001 #045 is applied.
SD5-XSH-ERN-148 is applied.
The aio_error() function is moved from the Asynchronous Input and Output option to the Base.
return to top of page