Suspends the calling process until one of the asynchronous I/O operations completes.


int aio_suspend(const struct aiocb * const cblist[], int n, const struct timespec *timeout);



Pointer to a control block on which I/O is initiated


Length of cblist list


Time interval to suspend the calling process


The aio_suspend() function is like a wait operation. It suspends the calling process until,

  • At least one of the asynchronous I/O requests in the list cblist of length n has completed
  • A signal is delivered
  • The time interval indicated in timeout is not NULL and has passed.

Each item in the cblist list must either be NULL (when it is ignored), or a pointer to a control block on which I/O was initiated using aio_read(), aio_write(), or lio_listio() functions.


0: On success

-1: On error

To get the correct error code, use errno.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.