aio_suspend(3) - wariua/manpages-ko GitHub Wiki
aio_suspend - λΉλκΈ° I/O λμ λλ νμμμ κΈ°λ€λ¦¬κΈ°
#include <aio.h>
int aio_suspend(const struct aiocb * const aiocb_list[],
int nitems, const struct timespec *timeout);-lrtλ‘ λ§ν¬.
aio_suspend() ν¨μλ λ€μ μ€ ν κ²½μ°κ° λ°μν λκΉμ§ νΈμΆ μ€λ λλ₯Ό μ€μ§νλ€.
-
λͺ©λ‘
aiocb_listμ λΉλκΈ° I/O μμ²μ΄ νλ μ΄μ μλ£λμλ€. -
μκ·Έλμ΄ μ λ¬λλ€.
-
timeoutμ΄ NULLμ΄ μλκ³ κ±°κΈ° μ§μ ν μκ°μ΄ μ§λ¬λ€. (timespecꡬ쑰체μ λν μμΈν λ΄μ©μ nanosleep(2) μ°Έκ³ .)
nitems μΈμλ aiocb_list λ΄ νλͺ© κ°μλ₯Ό λνλΈλ€. aiocb_listκ° κ°λ¦¬ν€λ λͺ©λ‘μ κ° νλͺ©μ NULLμ΄κ±°λ (κ·Έλ¬λ©΄ 무μν¨) aio_read(3), aio_write(3), lio_listio(3)λ‘ κ°μν I/Oμ μ μ΄ λΈλ‘μ λν ν¬μΈν°μ¬μΌ νλ€. (aiocb ꡬ쑰체μ λν μ€λͺ
μ aio(7) μ°Έκ³ .)
CLOCK_MONOTONICμ΄ μ§μλλ©΄ κ·Έ ν΄λμ νμμμ μκ° μΈ‘μ μ μ¬μ©νλ€. (clock_gettime(3) μ°Έκ³ .)
aiocb_listμ μ§μ ν I/O μμ²λ€ μ€ νλκ° μλ£λ ν μ΄ ν¨μκ° λ°ννλ κ²½μ°μλ 0μ λ°ννλ€. μλλ©΄ -1μ λ°ννλ©° μ€λ₯λ₯Ό λνλ΄λλ‘ errnoλ₯Ό μ€μ νλ€.
EAGAIN- μ§μ ν λμ νλλΌλ μλ£λκΈ° μ μ νΈμΆμ΄ νμμμ λμλ€.
EINTR- μκ·Έλλ‘ νΈμΆμ΄ λλ¬λ€. (κΈ°λ€λ¦¬λ λμλ€ μ€ νλμ μλ£ μλ¦ΌμΌ μλ μλ€.) signal(7) μ°Έκ³ .
ENOSYS-
aio_suspend()κ° κ΅¬νλΌ μμ§ μλ€.
glibc 2.1λΆν° aio_suspend() ν¨μκ° μ¬μ© κ°λ₯νλ€.
μ΄ μ μμ μ¬μ©νλ μ©μ΄λ€μ λν μ€λͺ μ attributes(7)λ₯Ό 보λΌ.
| μΈν°νμ΄μ€ | μμ± | κ° |
|---|---|---|
aio_suspend() |
μ€λ λ μμ μ± | MT-Safe |
POSIX.1-2001, POSIX.1-2008.
NULL μλ timeoutμ μκ°μ 0μΌλ‘ μ§μ νλ©΄ ν΄λ§μ΄ κ°λ₯νλ€.
aio_suspend() νΈμΆ μμ μ aiocb_listμ μ§μ ν λΉλκΈ° I/O λμμ΄ νλ μ΄μ μ΄λ―Έ μλ£λμ΄ μμλ κ²½μ°μλ νΈμΆμ΄ μ¦μ λ°ννλ€.
aio_suspend()κ° μ±κ³΅μ μΌλ‘ λ°νν λ€μμ μ΄λ I/O λμμ΄ μλ£λλμ§ μλ €λ©΄ aiocb_listκ° κ°λ¦¬ν€λ aiocb ꡬ쑰체 λͺ©λ‘μ aio_error(3)λ‘ νμνλ©΄ λλ€.
glibcμ aio_suspend() ꡬνμ λΉλκΈ° μκ·Έλ μμ μ΄ μλλ©°, μ΄λ POSIX.1μ μꡬ μ¬ν μλ°μ΄λ€.
aio_cancel(3), aio_error(3), aio_fsync(3), aio_read(3), aio_return(3), aio_write(3), lio_listio(3), aio(7), time(7)
2017-09-15