lio_listio(3) - wariua/manpages-ko GitHub Wiki
lio_listio - μ¬λ¬ I/O μμ² κ°μνκΈ°
#include <aio.h>
int lio_listio(int mode, struct aiocb *const aiocb_list[],
int nitems, struct sigevent *sevp);
-lrt
λ‘ λ§ν¬.
lio_listio()
ν¨μλ aiocb_list
λ°°μ΄μ΄ κΈ°μ νλ I/O λμλ€μ κ°μνλ€.
mode
μΈμμ κ°μ λ€μ μ€ νλμ΄λ€.
LIO_WAIT
- λͺ¨λ λμλ€μ΄ μλ£λ λκΉμ§ νΈμΆμ΄ λΈλ‘ λλ€.
sevp
μΈμλ 무μνλ€. LIO_NOWAIT
- I/O λμλ€μ μ²λ¦¬ νμ λ£κ³ νΈμΆμ΄ μ¦μ λ°ννλ€. I/O λμλ€μ΄ λͺ¨λ μλ£λλ©΄
sevp
μΈμλ‘ μ§μ ν λλ‘ λΉλκΈ° μλ¦Όμ΄ μ΄λ€μ§λ€. μμΈν λ΄μ©μ sigevent(7) μ°Έκ³ .sevp
κ° NULLμ΄λ©΄ λΉλκΈ° μλ¦Όμ΄ μ΄λ€μ§μ§ μλλ€.
aiocb_list
μΈμλ I/O λμμ κΈ°μ νλ aiocb
ꡬ쑰체μ λν ν¬μΈν°λ€μ λ°°μ΄μ΄λ€. κ·Έ λμλ€μ΄ μ€νλλ μμλ λͺ
μΈλΌ μμ§ μλ€. nitems
μΈμλ aiocb_list
λ°°μ΄μ ν¬κΈ°λ₯Ό λνλΈλ€. aiocb_list
μμ λ ν¬μΈν°λ 무μνλ€.
aiocb_list
μ κ° μ μ΄ λΈλ‘ μμ μλ aio_lio_opcode
νλκ° κ°μν I/O λμμ μ§μ νλ€.
LIO_READ
- μ½κΈ° λμμ κ°μνλ€. μ΄ μ μ΄ λΈλ‘μ μ§μ ν΄μ aio_read(3)λ₯Ό νΈμΆν κ²μ²λΌ λμμ νμ λ£λλ€.
LIO_WRITE
- μ°κΈ° λμμ κ°μνλ€. μ΄ μ μ΄ λΈλ‘μ μ§μ ν΄μ aio_write(3)λ₯Ό νΈμΆν κ²μ²λΌ λμμ νμ λ£λλ€.
LIO_NOP
- μ΄ μ μ΄ λΈλ‘μ 무μνλ€.
κ° μ μ΄ λΈλ‘ μμ λλ¨Έμ§ νλλ€μ aio_read(3) λ° aio_write(3)μμμ μλ―Έκ° κ°λ€. κ° μ μ΄ λΈλ‘μ aio_sigevent
νλλ₯Ό μ¬μ©ν΄ κ°λ³ I/O λμλ³λ‘ μλ¦Ό λ°©μμ μ§μ ν μ μλ€. (sigevent(7) μ°Έκ³ .)
mode
κ° LIO_NOWAIT
μΈ κ²½μ°, λͺ¨λ I/O λμμ΄ μ±κ³΅μ μΌλ‘ νμ λ€μ΄κ°μΌλ©΄ lio_listio()
κ° 0μ λ°ννλ€. μλλ©΄ -1μ λ°ννλ©° μ€λ₯λ₯Ό λνλ΄λλ‘ errno
λ₯Ό μ€μ νλ€.
mode
κ° LIO_WAIT
μΈ κ²½μ°, λͺ¨λ I/O λμμ΄ μ±κ³΅μ μΌλ‘ μλ£λμ λ lio_listio()
κ° 0μ λ°ννλ€. μλλ©΄ -1μ λ°ννλ©° μ€λ₯λ₯Ό λνλ΄λλ‘ errno
λ₯Ό μ€μ νλ€.
lio_listio()
μ λ°ν μνλ νΈμΆ μ체μ λν μ 보λ₯Ό μ 곡ν λΏ κ°λ³ λμλ€μ λν μ 보λ μ 곡νμ§ μλλ€. ν κ° μ΄μμ I/O λμμ΄ μ€ν¨ν μλ μμ§λ§ κ·Έκ² λ€λ₯Έ λμλ€μ μλ£λ₯Ό λ§μ§λ μλλ€. aiocb_list
μ κ°λ³ I/O λμμ μνλ₯Ό aio_error(3)λ‘ μμλΌ μ μλ€. κ·Έλ¦¬κ³ λμμ΄ μλ£λμ λ κ·Έ λ°ν μνλ₯Ό aio_return(3)μΌλ‘ μ»μ μ μλ€. aio_read(3)μ aio_write(3)μμ κΈ°μ νλ μ΄μ λ€λ‘ κ°λ³ I/O λμμ΄ μ€ν¨ν μ μλ€.
lio_listio()
ν¨μκ° λ€μ μ΄μ λ‘ μ€ν¨ν μ μλ€.
EAGAIN
- μμ λΆμ‘±.
EAGAIN
-
nitems
λ‘ μ§μ ν I/O λμ κ°μ λλ¬Έμ μ νμΉAIO_MAX
λ₯Ό μ΄κ³Όνκ² λλ€. EINTR
-
mode
κ°LIO_WAIT
μ΄λ©° I/O λμμ΄ λͺ¨λ μλ£λκΈ° μ μ μκ·Έλμ μ‘μλ€. signal(7) μ°Έκ³ . (λΉλκΈ° I/O μλ£ μλ¦Όμ μ°λ μκ·Έλλ€ μ€ νλμΌ μλ μλ€.) EINVAL
-
mode
κ° μ ν¨νμ§ μκ±°λ,nitems
κ° μ νμΉAIO_LISTIO_MAX
λ₯Ό μ΄κ³Όνλ€. EIO
-
aiocb_list
λ‘ μ§μ ν λμμ΄ νλ μ΄μ μ€ν¨νλ€. μμ©μμ aio_return(3)μ μ¬μ©ν΄ κ° λμμ μνλ₯Ό νμΈν μ μλ€.
lio_listio()
κ° EAGAIN
μ΄λ EINTR
, EIO
λ‘ μ€ν¨νλ κ²½μ°μλ aiocb_list
μ λμλ€ μ€ μΌλΆκ° κ°μλμμ μ μλ€. lio_listio()
κ° λ€λ₯Έ μ΄μ λ‘ μ€ν¨νλ κ²½μ°μλ μ΄λ€ I/O λμλ κ°μλμ§ μμ κ²μ΄λ€.
glibc 2.1λΆν° lio_listio()
ν¨μκ° μ¬μ© κ°λ₯νλ€.
μ΄ μ μμ μ¬μ©νλ μ©μ΄λ€μ λν μ€λͺ μ attributes(7)λ₯Ό 보λΌ.
μΈν°νμ΄μ€ | μμ± | κ° |
---|---|---|
lio_listio() |
μ€λ λ μμ μ± | MT-Safe |
POSIX.1-2001, POSIX.1-2008.
μ μ΄ λΈλ‘λ€μ μ¬μ©νκΈ° μ μ 0μΌλ‘ μ±μ°λ κ² μ’λ€. I/O λμμ΄ μ§ν μ€μΈ λμ μ μ΄ λΈλ‘μ΄ λ³κ²½λμ΄μ μ λλ€. μ½μ΄μ μ±μ°κ±°λ κΈ°λ‘νλ €λ λ²νΌ μμμ λμ μ€μ μ κ·Όν΄μλ μ λλ©°, μ κ·Ό μ κ·μ λΌ μμ§ μμ κ²°κ³Όκ° λ°μν μ μλ€. κ΄λ ¨ λ©λͺ¨λ¦¬ μμλ€μ΄ μ ν¨ν μνλ‘ μ μ§λΌμΌ νλ€.
λμμ μ΄λ€μ§λ I/O λμλ€μ κ°μ aiocb
ꡬ쑰체λ₯Ό μ§μ νλ κ²°κ³Όλ κ·μ λΌ μμ§ μλ€.
aio_cancel(3), aio_error(3), aio_fsync(3), aio_return(3), aio_suspend(3), aio_write(3), aio(7)
2017-09-15