---
name: "aio_error"
section: "2"
platform: "linux"
package: "freebsd-manpages"
version: "6.0-5"
release: "Debian 4.0 (Etch)"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/aio_error"
---

# aio\_error(2)

retrieve error status of asynchronous I/O operation (REALTIME)

## NAME

**aio\_error** – retrieve error status of asynchronous I/O operation (REALTIME)

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<aio.h\>**

*int*\

**aio\_error**(*const struct aiocb \*iocb*);

## DESCRIPTION

The **aio\_error**() system call returns the error status of the asynchronous I/O request associated with the structure pointed to by *iocb*.

## RETURN VALUES

If the asynchronous I/O request has completed successfully, **aio\_error**() returns 0. If the request has not yet completed, EINPROGRESS is returned. If the request has completed unsuccessfully the error status is returned as described in [read(2)](/read/2.md), [write(2)](/write/2.md), or [fsync(2)](/fsync/2.md) is returned. On failure, **aio\_error**() returns -1 and sets errno to indicate the error condition.

## ERRORS

The **aio\_error**() system call will fail if:

- \[EINVAL\]

  The *iocb* argument does not reference an outstanding asynchronous I/O request.

## SEE ALSO

[aio\_cancel(2)](/aio_cancel/2.md), [aio\_read(2)](/aio_read/2.md), [aio\_return(2)](/aio_return/2.md), [aio\_suspend(2)](/aio_suspend/2.md), [aio\_write(2)](/aio_write/2.md), [fsync(2)](/fsync/2.md), [read(2)](/read/2.md), [write(2)](/write/2.md), [aio(4)](/aio/4.md)

## STANDARDS

The **aio\_error**() system call is expected to conform to the IEEE Std 1003.1 (“POSIX.1”) standard.

## HISTORY

The **aio\_error**() system call first appeared in FreeBSD 3.0.

## AUTHORS

This manual page was written by Wes Peters ⟨wes@softweyr.com⟩.
