AIO_SUSPEND(2)

명칭
aio_suspend - 비동기 입출력 조작 완료, 또는 타임 아웃 경과까지 연기한다 (REALTIME)

프로그램 라이브러리
libc

서식
<aio.h> int aio_suspend(const struct aiocb * const iocbs[], int niocb, const struct timespec * timeout)

해설
지정의 비동기 입출력 요구의 쳐 적어도 1 개(살)이 완료하는지, timeout 하지만 경과할 때까지 aio_suspend() 함수는 호출해 프로세스를 연기합니다.

iocbs (은)는, 비동기 입출력 요구에의 niocb 포인터의 배열입니다. NULL 가 들어가 있는 배열 멤버는 그대로 무시됩니다.

timeout 하지만 누르포인타가 아닌 경우, 그것은 연기하는 시간의 최대 인터벌을 지정합니다. timeout 하지만 누르포인타의 경우, 무기한으로 연기합니다. 폴링 하기 위해서는 timeout (은)는 값 0 의 timespec 구조체를 가리키고 있어야 합니다.

반환값
지정된 1 개(살) 이상의 비동기 입출력 요구가 완료하면(자) aio_suspend() (은)는 0 을 돌려줍니다. 그렇지 않은 경우는 -1 을 돌려주어, 후술 하도록(듯이) errno 하지만 에러 상태를 나타내기 위해서(때문에) 세트 됩니다.

관련 항목
aio_cancel(2), aio_error(2), aio_read(2), aio_suspend(2), aio_write(2)

에러
aio_suspend() 함수는 다음의 경우에 실패합니다.

[EAGAIN]
    입출력 요구가 어느 것도 완료하지 않는 동안에 timeout 하지만 마감 시간이 되었습니다.

[EINVAL]
    iocbs 에는 AIO_LISTIO_MAX (을)를 넘는 비동기 입출력 요구가 들어가 있는지, 또는 적어도 1 개의 요구가 유효하지는 않습니다.

[EINTR]
    연기는 시그널에 의해 끼어들어 되었습니다.

표준
aio_suspend() 하 p1003.2 표준에 준거하고 있습니다.

역사
aio_suspend 함수는 FreeBSD 3.0 그리고 처음 등장했습니다.

저자
이 메뉴얼 페이지는 Wes Peters <wes@softweyr.com> 하지만 작성했습니다.