aio_suspend

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

Syntax

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

Arguments

cblist[]

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

n

Length of cblist list

*timeout

Time interval to suspend the calling process

Description

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.

Returns

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.