Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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.